System and method for adjusting compensation applied to a signal

ABSTRACT

In one embodiment of the present invention, a method for adjusting a signal includes applying compensation for distortion to a signal to generate an output signal. The method also includes, using a clock signal, sampling the output signal to generate a plurality of data values and boundary values, each value comprising either a high value or a low value based on the sampling of the output signal. The method further includes detecting a transition in value between two successive data values and determining a sampled boundary value between the two successive data values. The method also includes, based only on the high or low values of the boundary value and one or more data values before or after the boundary value, adjusting the compensation applied to the signal.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of priority under 35 U.S.C. §119(e)of U.S. Provisional Application entitled “Adaptive Equalizer,” Ser. No.60/803,451 filed May 30, 2006.

TECHNICAL FIELD OF THE INVENTION

This invention relates generally to signal communication and, moreparticularly, to a system and method for adjusting compensation appliedto a signal.

BACKGROUND OF THE INVENTION

When signals are communicated over communication media, the signals maysuffer attenuation from phenomena such as skin effect and dielectricabsorption. Signal receivers may include equalizers that compensate forthis attenuation in order to improve the accuracy and efficiency ofsignal communication. It is desirable for the amount of compensationapplied by equalizers to match the level of attenuation due to the mediaas closely as possible, in order to keep the output characteristics ofthe signal consistent independently of the particular communication pathused to communicate the signal.

SUMMARY OF THE INVENTION

In one embodiment of the present invention, a method for adjusting asignal includes applying compensation for distortion to a signal togenerate an output signal. The method also includes, using a clocksignal, sampling the output signal to generate a plurality of datavalues and boundary values, each value comprising either a high value ora low value based on the sampling of the output signal. The methodfurther includes detecting a transition in value between two successivedata values and determining a sampled boundary value between the twosuccessive data values. The method also includes, based only on the highor low values of the boundary value and one or more data values beforeor after the boundary value, adjusting the compensation applied to thesignal.

One technical advantage of certain embodiments is equalizing outputsignals. Certain embodiments compensate for signal attenuation resultingfrom the communication media used to communicate the signal. This allowsthe output characteristics of the signal to remain consistentindependently of the communication path used to communicate the signal.Advantages associated with consistent output characteristics may includeimproved component response, as the signal level can be selected to fallwithin the dynamic range of system components. Furthermore, the signalcan be maintained at a sufficient level to prevent information frombeing lost.

Other technical advantages of certain embodiments include adaptabilityto different communication media. Certain embodiments use variable gainamplifiers to adjust the degree of compensation applied to an incomingsignal. Such embodiments may allow the amount of compensation to beadjusted for different media, thus increasing the versatility ofequalizers embodying such techniques. Furthermore, such embodiments mayalso adapt to changes in media characteristics associated with process,voltage, and temperature variations.

Still another technical advantage of certain embodiments is improvingthe maximum operation speed of the equalizer and/or reducing the powerconsumed by the equalizer. Certain embodiments use existing clock anddata recovery (CDR) functionality to generate output signal values usedto monitor residual gain error and/or residual DC offset in the outputsignal. By using existing CDR functionality to generate the outputsignal values, a dedicated monitor circuit need not be used. By notusing a dedicated monitor circuit, the loading on the equalizer outputmay be reduced, improving maximum operation speed of the equalizerand/or reducing the power consumed by the equalizer. In addition, chiparea may be reduced and existing equalizer components and/orfunctionality may be reused in particular embodiments. Also, by notusing a dedicated monitor circuit, design effort for the equalizer mayalso be reduced.

Still another technical advantage of certain embodiments is increasedflexibility regarding data patterns usable by the equalizer. Particularembodiments may use data patterns with a single transition and are notlimited to high frequency data patterns and/or data patterns having atleast two transitions. Such flexibility may have several advantages,including, for example, allowing additional filter patterns (i.e., thosehaving a single transition) to be applied to an output signal tocounteract duty cycle distortion, discussed below.

Yet another technical advantage of particular embodiments is the abilityto adjust more than one independent control parameter associated with aninput signal using only output signal values. As discussed above, usingoutput signal values provides several advantages over using a monitorcircuit. In addition, adjusting more than one independent controlparameter may increase the effectiveness of an equalizer in compensatingfor signal attenuation.

Still another technical advantage of particular embodiments iscontrolling gain in an adaptive equalizer consistently for periodic,quasi-periodic, and well-randomized data sequences. Another technicaladvantage of particular embodiments is reducing the negative effects ofduty-cycle distortion and quasi-periodic and periodic signals byapplying filter patterns to the signals before adjusting gain. Thefilter patterns may correspond to patterns of values that arisesubstantially equally in the sequences that start at even or odd data inthe signals. Applying filter patterns to the signals may avoidunacceptable results in the gain control by balancing the adaptiveaction biases (duty cycle distortion) in the sequences that start ateven or odd data.

A further technical advantage of particular embodiments is using a listof useful filter patterns in a balanced manner in conjunction with(quasi-) periodic signals to reduce the negative effects of duty-cycledistortion and the (quasi-) periodic signals. In these embodiments, thelist of useful filter patterns associated with the (quasi-) periodicsignals may be pre-determined and fixed. In alternative embodiments, thelist of useful filter patterns may be adaptable to the incoming (quasi-)periodic signals. The filter patterns in a list may be used in abalanced manner to enhance their applicability to the (quasi-) periodicsignals. Filter patterns may be used in a balanced manner by beingselected from the list sequentially, randomly, or simultaneously. Timersmay be used in particular embodiments to skip over an undetected filterpattern, thereby increasing the frequency of adaptive control actions.

Another technical advantage of certain embodiments is adjusting forresidual DC offset observed in output signals. Adjusting DC offsetcompensation allows for improved component response (e.g., increasedsensitivity). In particular embodiments, DC offset compensation may beadjusted using output signal values and without generating data errorsin a signal. As discussed above, using output signal values (generatedusing existing CDR functionality) provides several advantages over usinga monitor circuit. In addition, because data errors are not generated ina signal, adjustments to DC offset compensation may be made duringreceipt of a signal comprising real data traffic and not only duringreceipt of a signal carrying only test traffic. By making adjustments toDC offset compensation during receipt of a signal comprising real datatraffic (and not test traffic only), component sensitivity may beimproved during receipt of the real data traffic.

Yet another technical advantage of particular embodiments is correctingfor a potential false locking problem in conjunction with adjusting forresidual DC offset observed in output signals. The false locking problemarises when a clock recovery and an offset canceller interactimproperly, leading to the sampled boundary and data values to beinterchanged. Particular embodiments correct for the false lockingproblem by adjusting DC offset compensation based on the high or lowvalue of each boundary value, regardless of whether the boundary valueis between successive data values comprising a transition. To correctfor the false locking problem in (quasi-) periodic signals wherere-sampling is used, particular embodiments first monitor data DCimbalance (a proxy for the false locking problem) using output signalvalues. If an imbalance is detected, DC offset compensation is adjustedbased on the detected imbalance. If an imbalance is not detected, DCoffset compensation is adjusted based on the high or low values of onlythose boundary values between successive data values comprisingtransitions. In this way, data DC imbalance may vary within anacceptable range, even if re-sampling is used for a (quasi-) periodicdata sequence.

Still another technical advantage of particular embodiments is usingoutput signal values to cancel offsets in each path of a multi-pathequalizer. In particular embodiments, offsets in each path may becancelled without using any additional circuitry to monitor internalresidual offset in the equalizer. In addition, in particularembodiments, the offset cancel control may be used during operation ofthe equalizer (i.e., without turning off any part of the equalizercircuit) and during receipt of a signal comprising real data traffic(and not only during receipt of a signal carrying only test traffic). Bymaking adjustments to DC offset compensation during receipt of a signalcomprising real data traffic (and not test traffic only), componentsensitivity may be improved during receipt of the real data traffic.

Another technical advantage of particular embodiments where re-samplingis used is avoiding any locking of the re-sampling period with theperiod of a (quasi-) periodic signal. When locking occurs, the datapatterns observed in re-sampled data may be different than the datapatterns in the entire (quasi-) periodic signal, potentially skewing thecontrol actions performed by the equalizer controller. Particularembodiments may avoid locking by varying the point at which the (quasi-)periodic signal is re-sampled in each re-sampling cycle.

Yet another technical advantage of particular embodiments is decouplingmultiple control loops, such as, for example, the adaptive equalizercontrol and the offset canceller. Decoupling the multiple control loopsmay avoid delay in convergence time and potential instability in thecontrol loops. Particular embodiments may decouple multiple controlloops by making the loops insensitive to each other. For example, theadaptive equalizer control may be made insensitive to residual offset,and the offset canceller may be made insensitive to residualinter-symbol interference (ISI). To make the adaptive equalizer controland offset canceller insensitive to each other, in particularembodiments, two sets of complementary data patterns may be used in abalanced manner by the adaptive equalizer control and the offsetcanceller.

Still another technical advantage of particular embodiments isgenerating a particular average value of a binary objective variable(e.g., ISI level, equalization level, or other suitable objectivevariable) in an equilibrium state in a bang-bang control system thatdoes not necessarily converge to zero, as is the case in typicalbang-bang control systems. The binary objective variable may be, forexample, the inverted correlation function applied to a boundary valuebetween opposite data values and to the data value 1.5 bits (or symbols)before the boundary value. In particular circumstances, the optimalaverage value of a binary objective variable (e.g., ISI level,equalization level, or other suitable objective variable) in equilibriummay be greater or less than zero depending on various conditions, suchas, for example, channel loss and the incoming signal itself. Thus,embodiments that generate an average value of the binary objectivevariable that converges closer to the optimal average value (than doeszero) may be advantageous.

Another technical advantage of particular embodiments is dynamicallygenerating a control target for an average value of a binary objectivevariable (e.g., ISI level, equalization level, or other suitableobjective variable) in an equilibrium state. In particular embodiments,the optimal average ISI level is likely to be high for a high losschannel and low for a low loss channel. Thus, embodiments comprising acontrol target for the average value of a binary objective variable thatdynamically varies with the value of the control variable may beadvantageous.

Other technical advantages will be readily apparent to one skilled inthe art from the attached figures, description, and claims. Moreover,while specific advantages have been enumerated above, particularembodiments may include some, all, or none of the enumerated advantages.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an example digital signaltransmission system;

FIG. 2 is a block diagram illustrating the example digital signaltransmission system of FIG. 1 in more detail;

FIG. 3 is a block diagram illustrating an example receiver in theexample digital signal transmission system of FIG. 2 according to aparticular embodiment;

FIGS. 4A, 4B, and 4C illustrate examples of a clock signal in comparisonwith an equalizer output signal exhibiting types of inter-symbolinterference effects;

FIG. 5 is a flowchart illustrating a method for interpreting outputsignal values to compensate for residual inter-symbol interferenceaccording to a particular embodiment of the invention;

FIG. 6 is a table illustrating an example gain control scheme associatedwith the method of FIG. 5;

FIG. 7 is a flowchart illustrating an example method for interpretingoutput signal values for multiple independent control parameters in ananalog second-order derivative equalizer according to a particularembodiment of the invention;

FIG. 8 is a table illustrating an example gain control scheme associatedwith the method of FIG. 7;

FIG. 9 is a flowchart illustrating an example method for interpretingoutput signal values for multiple equalizer parameters in a 3-tap FIRfilter according to a particular embodiment of the invention;

FIG. 10 is a table illustrating an example gain control schemeassociated with the method of FIG. 9;

FIG. 11 illustrates example boundary information affected by duty-cycledistortion;

FIG. 12 is a flowchart illustrating an example method for selecting afilter pattern to reduce the negative effect of duty-cycle distortionaccording to a particular embodiment of the invention;

FIG. 13 is a table illustrating an example distribution of 6-bit datapatterns in even and odd 8B10B idle data sequences;

FIG. 14 is a table illustrating an example gain control schemeassociated with using the example filter patterns derived from the tableof FIG. 13 to adjust the gain applied to unmodified, first-orderderivative, and second-order derivative components of an input signal;

FIG. 15 is a table illustrating an example distribution of 6-bit datapatterns in even and odd 8B10B CJPAT data sequences;

FIG. 16 is a table illustrating an example gain control schemeassociated with using the example filter patterns derived from the tableof FIG. 15 to adjust the gain applied to unmodified, first-orderderivative, and second-order derivative components of an input signal;

FIG. 17 is a flowchart illustrating an example method for generating alist of useful filter patterns dynamically according to a particularembodiment of the invention;

FIG. 18 is a flowchart illustrating another example method forgenerating a list of useful filter patterns dynamically according to aparticular embodiment of the invention;

FIG. 19 is a flowchart illustrating yet another example method forgenerating a list of useful filter patterns dynamically according to aparticular embodiment of the invention;

FIG. 20 is a flowchart illustrating an example method for using filterpatterns in a balanced manner according to a particular embodiment ofthe invention;

FIG. 21 is a flowchart illustrating another example method for usingfilter patterns in a balanced manner according to a particularembodiment of the invention;

FIG. 22 is a flowchart illustrating an example method for skipping anundetected filter pattern after a period of time according to aparticular embodiment of the invention;

FIGS. 23A, 23B, and 23C illustrate examples of a clock signal incomparison with an equalizer output signal exhibiting types of residualDC offset;

FIG. 24 is a flowchart illustrating a method for interpreting outputsignal values to cancel residual DC offset according to a particularembodiment of the invention;

FIG. 25 is a table illustrating an example offset control schemeassociated with the method of FIG. 24;

FIG. 26 is a flowchart illustrating a method for correcting for falselocking in canceling residual DC offset according to a particularembodiment of the invention;

FIG. 27 is a table illustrating an example offset control schemeassociated with the method of FIG. 26;

FIG. 28 is a flowchart illustrating another method for correcting forfalse locking in canceling residual DC offset according to a particularembodiment of the invention;

FIG. 29 is a table illustrating an example offset control schemeassociated with the method of FIG. 28;

FIG. 30 illustrates examples of a DC path output exhibiting negativeresidual DC offset, a first-order derivative path output exhibitingpositive residual DC offset, and an equalizer output signal exhibitingmostly zero residual DC offset of an example first-order derivativeequalizer in comparison with a clock signal;

FIG. 31 is a flowchart illustrating an example method for cancelingresidual DC offset in a first-order derivative analog equalizeraccording to a particular embodiment of the invention;

FIG. 32 is a table illustrating an example offset control schemeassociated with the method of FIG. 31;

FIG. 33 is a flowchart illustrating another example method for cancelingresidual DC offset in a first-order derivative analog equalizeraccording to a particular embodiment of the invention;

FIG. 34 is a table illustrating an example offset control schemeassociated with the method of FIG. 33;

FIG. 35 is a flowchart illustrating yet another example method forcanceling residual DC offset in a first-order derivative analogequalizer according to a particular embodiment of the invention;

FIG. 36 is a table illustrating an example offset control schemeassociated with the method of FIG. 35;

FIG. 37 is a flowchart illustrating yet another example method forcanceling residual DC offset in a first-order derivative analogequalizer according to a particular embodiment of the invention;

FIG. 38 is a table illustrating an example offset control schemeassociated with the method of FIG. 37;

FIG. 39 is a flowchart illustrating an example method for cancelingresidual DC offset in a second-order derivative analog equalizeraccording to a particular embodiment of the invention;

FIG. 40 is a table illustrating an example offset control schemeassociated with the method of FIG. 39;

FIG. 41 is a flowchart illustrating an example method for reducing theeffects of duty-cycle distortion according to a particular embodiment ofthe invention;

FIG. 42 is a flowchart illustrating another example method for reducingthe effects of duty-cycle distortion according to a particularembodiment of the invention;

FIG. 43 is a flowchart illustrating an example method for varying thepoint at which re-sampling occurs in each re-sampling cycle according toa particular embodiment of the invention;

FIG. 44 is a flowchart illustrating another example method for varyingthe point at which re-sampling occurs in each re-sampling cycleaccording to a particular embodiment of the invention;

FIG. 45 is a flowchart illustrating yet another example method forvarying the point at which re-sampling occurs in each re-sampling cycleaccording to a particular embodiment of the invention;

FIG. 46 is a flowchart illustrating an example method for decouplingmultiple control loops according to a particular embodiment of theinvention;

FIG. 47 is a flowchart illustrating another example method fordecoupling multiple control loops according a particular embodiment ofthe invention;

FIG. 48 is a flowchart illustrating an example method for generating aparticular average of a binary objective variable (e.g., ISI level, EQlevel, or residual offset) in an equilibrium state according to aparticular embodiment of the invention;

FIG. 49 is a flowchart illustrating an example method for dynamicallygenerating a control target for an average value of a binary objectivevariable (e.g., ISI level) in an equilibrium state according to aparticular embodiment of the invention;

FIG. 50 is a graph illustrating the results of applying an examplecontrol target equation to dynamically generate a control target for anaverage value of a binary objective variable in an equilibrium state inequalizer gain control according to a particular embodiment of theinvention;

FIG. 51 is a table illustrating an example scheme for converting ahigh-frequency gain code into a DC-path gain code and a first-order-pathgain code according to a particular embodiment of the invention; and

FIGS. 52A and 52B are graphs illustrating the results of applying theexample scheme of FIG. 51 for converting a high-frequency gain code intoa DC-path gain code and a first-order-path gain code according to aparticular embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is a block diagram illustrating an example digital signaltransmission system 10. Digital signal transmission system 10 comprisestransmitter 20, communication channel 30, and receiver 40. Transmitter20 may comprise any suitable transmitter operable to transmit signalscarrying digital information to receiver 40 over channel 30. Inparticular embodiments, transmitter 20 may communicate information atrelatively fast rates. Channel 30 may comprise any suitable channel orother communication medium. Channel 30 may include, for example, a cablecarrying a signal, an insulator insulating the cable, packaging aroundthe cable, and/or connectors. Channel 30 is operable to receive signalsfrom transmitter 20 and forward these signals to receiver 40. Receiver40 may comprise any suitable receiver operable to receive signals fromtransmitter 20 over channel 30 and process the digital information inthe received signals suitably.

In typical digital signal transmission systems, such as, for example,high-speed communication systems, the signal received by receiver 40 istypically distorted due to frequency-dependent attenuation, asillustrated in graph 32. Generally, there are two significant causes forsignal attenuation in conductive communication media. The firstsignificant cause is skin effect from conduction of the signal along thecommunication medium. The second significant cause is dielectricabsorption of the signal by the communication medium. In general, theamount of signal loss in decibels due to skin effect is the producta_(s)·x·√f, where a_(s) is the coefficient of skin effect for thematerial, x is the length traveled along the material, and f is thefrequency of the signal. The amount of loss due to dielectric absorptionis the product a_(d)·x·f, where a_(d) is the coefficient of dielectricabsorption of the material.

The relative significance of the effects can vary widely depending onthe material and the frequency of the signal. Thus, for example, cablesmay have a coefficient of dielectric absorption that is much smallerthan the coefficient of skin effect, so that loss due to skin effectdominates except at high frequencies. On the other hand, backplanetraces may have higher coefficients of dielectric absorption, so thatthe loss due to dielectric absorption is comparable to or greater thanthe amount of loss due to skin effect. Furthermore, changes in operatingconditions, such as temperature variations, may also affect signalcharacteristics.

A signal processed by receiver 40 may also exhibit residual DC offsetdistortion. Residual DC offset may be caused, for example, byfabrication technology, such as device geometry mismatch or thresholdvoltage mismatch, and/or by receiver components themselves. As describedfurther below in conjunction with FIGS. 2 and 3, equalizers may be usedto compensate for frequency-dependent attenuation, and offset cancellersmay be used to cancel residual DC offset.

FIG. 2 is a block diagram illustrating the example digital signaltransmission system of FIG. 1 in more detail. As can be observed,transmitter 20 comprises transmitter logic 22 and transmitter equalizer24. Transmitter logic 22 may comprise any suitable logic operable toencode and transmit information. Transmitter equalizer 24 may compriseany suitable equalizer operable to compensate for distortion that thetransmitted signals may experience over channel 30 due tofrequency-dependent attenuation (for example, by adjusting the gain ofsignals to be transmitted). As an example only, in particularembodiments, the gain may be compensated as illustrated in graph 26. Inthis manner, equalizer 24 may apply pre-compensation (or equalization)to a signal before distortion occurs (using, e.g., transmitterpre-emphasis equalization). In particular embodiments, transmitterequalizer 24 may operate analogously to receiver equalizer 42, describedbelow in conjunction with FIG. 3, based on feedback from receiver logic47 However, it should be noted that equalizer 24 may apply compensationto the signal before the distortion occurs whereas equalizer 42 mayapply compensation to the signal after the distortion occurs. It shouldalso be noted that some or all of the logic in logic 47 (describedbelow) may reside in transmitter 20 or in any other suitable locationand not necessarily entirely in receiver 40.

Receiver 40 comprises receiver equalizer 42, equalizer output 46,receiver logic 47, gain control signal 48, and offset control signal 49.Receiver equalizer 42 may comprise any suitable equalizer operable toreceive, at an input port, an input signal comprising an input datasignal and apply a gain and/or offset to the received input data signal.Receiver logic 47 may comprise any suitable component or set ofcomponents, such as a sampler, operable to receive a clock signal. Theclock signal may comprise any suitable clock signal, such as, forexample, a recovered clock signal, which may be recovered from the inputsignal by a clock and data recovery (CDR) circuit. Using the receivedclock signal, receiver logic 47 is operable to sample the equalizeroutput 46, and based on the sampling, adjust the gain control signal 48and/or offset control signal 49 applied to the input data signal tocompensate for signal distortion, as described further below inconjunction with FIG. 3. As an example only, in particular embodiments,the gain may be compensated as illustrated in graph 52. Compensating thegain may produce, in particular embodiments, an equalizer output 46 thatis completely compensated for frequency-dependent distortion, asillustrated in graph 54. In alternative embodiments, the equalizeroutput 46 may not be completely compensated. In particular embodiments,receiver 40 may be operable to communicate the information in equalizeroutput 46 downstream in any suitable manner and to any suitable numberof one or more components.

As described in more detail below, receiver 40 compensates for signaldistortions without using a dedicated monitor circuit to detect thedistortions. By not using a dedicated monitor circuit, receiver 40 mayachieve one or more technical advantages. These advantages may include,for example, improving the maximum operation speed of equalizer 42and/or reducing the power consumed by receiver 40. In addition, chiparea may be reduced, existing equalizer components and/or functionalitymay be reused, and/or the design effort necessary to design receiver 40may be reduced (by not having to design a dedicated monitor circuit).

It should be noted that, in particular embodiments, pre-compensation maynot be applied and transmitter 20 may not include an equalizer 24. Inthese embodiments, receiver 40 may compensate for distortion usingequalizer 42. In alternative embodiments, transmitter 20 may includeequalizer 24, and pre-compensation may be applied (i.e., transmitterpre-emphasis). In some of these embodiments, receiver 40 may alsocompensate for distortion using equalizer 42. In others of theseembodiments, receiver 40 may not compensate for distortion usingequalizer 42, and receiver 40 may not include an equalizer 42.

It should be noted that, in particular embodiments, the componentsapplying compensation to a signal for distortion (e.g., logic 47 andequalizer 42, logic 47 and equalizer 24, and/or logic 47 and multipleequalizers) may be referred to as being part of an adaptive equalizer.It should also be noted that an adaptive equalizer may applycompensation in the manner described herein in contexts other than in asignal transmission system (as described). For example, an adaptiveequalizer may apply compensation in the manner described herein (or inan analogous manner) in a recording channel, such as, for example, amagnetic recording channel or an optical recording channel. Also,compensation may be applied as described herein using any suitable typeof equalizer, including, for example, a linear equalizer and a decisionfeedback equalizer.

FIG. 3 is a block diagram illustrating an example receiver 40 in theexample digital signal transmission system 10 of FIG. 2 according to aparticular embodiment. Equalizer 42 is operable to compensate forattenuation in a signal communicated to equalizer 42 using acommunication medium 30. In the depicted embodiment, receiver logic 47includes an adaptive controller 102 that adjusts the amount of gainapplied to each of three signal paths 101A, 101B, and 101C based on theoutput signal sampled by sampler 104. Performance of equalizer 42 maysuffer from residual DC offset. Receiver logic 47 may thus also includean offset controller 106 that adjusts the amount of DC offsetcompensation applied to an incoming signal based on the DC offset of theoutput signal sampled by sampler 104. Other components of equalizer 42include variable gain limiting amplifier 110, mathematical operators (S)112, delay generators 114, variable gain amplifiers 116, mixer 118, anddrive amplifier 120. Other components of receiver logic 47 include thesampler 104 and clock 105. The output signal from sampler 104 isillustrated as output 50.

In order to compensate for frequency-dependent distortion, equalizer 42may divide (using any suitable divider) the received input signal 108among three signal paths 101A, 101B, and 101C, and selectively amplifythe portion of the signal on each path using variable gain amplifiers116. The first path 101A applies no mathematical operation to thereceived portion of the input signal. The second path 101B applies afirst-order mathematical operation, such as, for example, a derivativeoperation, to the signal. This operation may be based on the frequencyof the signal and is illustrated as mathematical operator (S) 112. Asalso described below, the third path 101C applies a second-ordermathematical operation, such as, for example, a second-order derivativeoperation, to the signal. This operation may also be based on thefrequency of the signal and is illustrated by the application of twomathematical operators (S) 112. By selectively amplifying the first-andsecond-order components of the signal, equalizer 42 approximatelycompensates for the frequency-dependent loss effects in channel 30 ofFIG. 2. In alternative embodiments, equalizer 42 may have any suitablenumber of paths, including, for example, only one path. Equalizer 42 maybe an example of an equalizer that applies compensation for distortionin parallel. It should be noted that compensation for distortion may beapplied in parallel in any suitable manner (e.g., before and/or afterdistortion occurs) using any suitable equalization technique (e.g.,transmitter pre-emphasis equalization and/or receiver equalization) andany suitable equalizer (e.g., an analog continuous-time first-orderderivative filter, an analog continuous-time second-order derivativefilter, a multi-tap finite-impulse-response filter, and/or a multi-tapdecision-feedback equalizer). It should also be noted that, inalternative embodiments, compensation for distortion may be applied inseries in any suitable manner (e.g., before and/or after distortionoccurs) using any suitable equalization technique (e.g., transmitterpre-emphasis equalization and/or receiver equalization) and any suitableequalizer (e.g., a linear equalizer and/or a decision-feedbackequalizer).

Adaptive controller 102 may comprise any suitable component orcombination of components for analyzing information about the outputsignal of equalizer 42 and for adjusting the respective gain of each ofthe variable gain amplifiers 116. Adaptive controller 102 may includeanalog and/or digital electronic components, such as transistors,resistors, amplifiers, constant current sources, or other similarcomponents. Adaptive controller 102 may also include suitable componentsfor converting signals from analog signals to digital signals or viceversa. According to a particular embodiment, adaptive controller 102includes a digital processor, such as a microprocessor, microcontroller,embedded logic, or other information-processing component.

In particular embodiments, adaptive controller 102 receives data andboundary value information associated with the output signal fromsampler 104. This value information may include, for example, a high orlow value (such as a “1” or a “0”) associated with each sampled dataand/or boundary value. As described further below, based on this valueinformation, adaptive controller 102 is operable to make suitableadjustments to the gain applied to the input data signal. To adjust thegain, in particular embodiments, adaptive controller 102 may adjust thebias current applied to each variable gain amplifier 116 to adjust thegain applied. One advantage of using bias currents to control amplifiers116 is that it may adjust the amount of gain applied by the amplifierwithout changing the bandwidth of the amplifier, so that the amplifiercan maintain its dynamic range even when the gain is increased.

Sampler 104 may comprise any suitable component configured to receivethe equalizer output 46 from, for example, drive amplifier 120 and aclock signal from, for example, clock 105, and to sample the equalizeroutput 46 at set intervals defined by the clock signal. The sampling maybe of data values and/or boundary values associated with the equalizeroutput 46 and may indicate a high or low value for each of these values.Sampler 104 may be further operable to forward sampled data values andboundary values to adaptive controller 102 and/or offset controller 106.In particular embodiments, sampler 104 may comprise a decision latchthat performs sampling and 1-bit analog-to-digital conversion. Inalternative embodiments, sampler 104 may comprise an analog sample andhold (S/H) circuit to sample and forward analog information for analogsignal processing. In yet alternative embodiments, sampler 104 maycomprise a multiple-bit analog-to-digital converter (ADC) and forwarddigital information for digital signal processing.

Offset controller 106 may comprise any suitable component or combinationof components for analyzing information about the equalizer output 46 ofequalizer 42 and for adjusting the amount of DC offset compensationapplied at one or more stages of variable gain amplifier 116. Inparticular embodiments, offset controller 106 may include amicroprocessor, microcontroller, embedded logic, and/or any othersuitable component or combination of components.

In particular embodiments, offset controller 106 receives data andboundary value information associated with the equalizer output 46 fromsampler 104. This value information may include, for example, a high orlow value for each sampled data and/or boundary value. As describedfurther below, based on this value information, offset controller 106 isoperable to make suitable adjustments to the compensation (i.e.,correction) voltage applied to the input data signal to correct orcompensate (i.e., cancel) for any residual DC offset.

DC offset compensation may be imparted to the signal by variouscomponents of equalizer 42, and in particular, by variable gainamplifiers 116. In multi-stage variable gain amplifiers, the DC offsetmay be cumulative between stages. To correct the offset, offsetcontroller 106 may apply a DC voltage to the signal being amplified byvariable gain amplifier 116. According to a particular embodiment,offset controller 106 applies the compensation (i.e., correction)voltage in steps, wherein each step is applied at a different stage ofvariable gain amplifier 116. In such an embodiment, the amount ofvoltage applied at each step may be determined in any suitable manner.For example, the total correction voltage may be divided evenly betweenthe steps, or it may be distributed in an amount proportional to thegain of the respective stages. It should be noted that some or all ofthe tasks performed by offset controller 106 may alternatively beperformed by any other suitable component such as, for example, sampler104.

Variable gain limiting amplifier (VGLA) 110 represents a component orcollection of components for conditioning input signals 108 received byequalizer 42. The conditioning process adjusts the overall level of theinput signal 108 to keep the signal within the dynamic range ofmathematical operator (S) 112 and delay generator 114. In a particularembodiment, the amount of amplification applied by VGLA 110 iscontrolled by a bias current applied to VGLA 110.

Mathematical operator (S) 112 represents any component or collection ofcomponents that produces an output that is linearly proportional to thederivative of the incoming signal with respect to time, referred to as a“first-order operation.” Mathematical operator S 112 may include anysuitable electronic components or circuitry such as, for example, ahigh-pass filter for performing the desired mathematical operation.According to a particular embodiment, the operation is a derivativeoperation, which takes the derivative of the incoming signal withrespect to time, such as, for example, the voltage change of theincoming signal per 100 pico-seconds. Mathematical operator S 112 may beapplied to a signal once or multiple times, resulting in an outputsignal that is proportional to the first, second, third, or higher orderderivative of the incoming signal with respect to time based on thenumber of times S 112 is applied.

Delay generator 114 represents any component or collection of componentsthat introduces a time delay in the communication of a signal. Delaygenerator 114 may include any suitable electronic components orcircuitry. According to a particular embodiment, the delay introduced toa signal by delay generator 114 is approximately equal to the amount oftime required for mathematical operator S 112 to be applied to a signal.Thus, delay generators 114 may be used to equalize the amount of timerequired for each portion of the input signal to travel down thecorresponding path 101A, 101B, or 101C. In this way, the respectiveportions of the signals may be synchronized when they arrive at mixer118.

Variable gain amplifiers 116 represent any component or components foramplifying a signal. Variable gain amplifiers 116 may include anysuitable electronic components, and in a particular embodiment, eachvariable gain amplifier 116 is controlled by a bias current applied tothe particular variable gain amplifier 116. In some cases, the responsetime of particular components performing the amplification may be toohigh, so that the amplifier cannot effectively amplify high-frequencysignals that change rapidly between high and low values. Accordingly,variable gain amplifier 116 may include a series of stages, each ofwhich performs part of the overall amplifications. Because no stage hasthe burden of performing all of the amplification, the time required foreach stage to apply its respective gain is also less. This allows themulti-stage variable gain amplifier 116 to respond to higher frequencysignals.

Variable gain amplifiers 116 may also impart a DC offset compensation tothe signal. In multi-stage amplifiers, each stage may impart a DC offsetcompensation. One method of correcting the DC offset is to apply acorrection voltage to correct the DC offset in the signal. Thecorrection voltage may be applied entirely to the initial signal beforeit is amplified. However, applying the voltage entirely at one point maytake the signal out of the dynamic range of one or more stages ofamplifier 116. Furthermore, the voltage applied is recalculated andadjusted every time a new stage is added, and if the gain is variable ineach stage, the DC offset may be unevenly distributed among the stages.In order to deal with this difficulty, particular embodiments mayinclude applying a correction voltage at multiple stages of amplifier116. This allows the DC offset for each stage to be corrected at thatstage, reducing the chance that a correction will take the signal out ofthe dynamic range of the amplifier and removing the need to recalculatethe DC offset for the entire array each time a stage is added.Furthermore, applying the correction voltage at each stage facilitatescorrecting the DC offset when the gain of each stage is independentlyvariable, so that different stages may have different gains and mayimpart different DC offsets.

Mixer 118 represents a component or collection of components forrecombining the signals on communications paths 101A, 101B, and 101Cinto a single signal. Mixer 118 may include any suitable electroniccomponents. Mixer 118 provides the combined signal to drive amplifier120. Drive amplifier 120 represents any component or collection ofcomponents for amplifying the combined signal. Drive amplifier 120performs any suitable amplification on the combined signal to produceequalizer output 46 from equalizer 42 that has a sufficiently highsignal level to allow effective communication of the output signal tosampler 104.

In operation, equalizer 42 receives an input signal 108 comprising aninput data signal that has been attenuated by communication through acommunication medium. VGLA 110 conditions the signal so that the signallevel is within the dynamic range of mathematical operator (S) 112 anddelay generator 114. Equalizer 42 divides the input signal among threepaths 101A, 101B, and 101C. The signal on path 101A is delayed twice bydelay generators 114 to synchronize the signal on path 101A with thesignal on path 101B, which is subject to mathematical operator 112 onceand delayed once by delay generator 114, and with the signal on path101C, which is subject to mathematical operators 112 twice. Thus, theinput signal components on the three paths 101A, 101B, and 101Ccorrespond to the input signal subject to no mathematical operation, afirst-order operation, and a second-order operation, respectively, andthe three components are synchronized (using delay generators 114) toarrive at mixer 118 at approximately the same time.

Equalizer 42 then amplifies the signal on each path using the respectivevariable gain amplifier 116. The gain of each amplifier 116 iscontrolled by adaptive controller 102, and the gain may be different foreach path 101A, 101B, and 101C. This allows equalizer 42 to providedifferent degrees of compensation for loss effects that have differentproportionality relationships with the frequency of the signal. Ingeneral, the amount of compensation for a particular effect relative tothe base signal is proportional to the ratio of the amplification of thecorresponding path to the amplification of the unmodified signal on path101A. Accordingly, path 101A may apply no gain or a slightly negativegain (in dB) in order to increase the relative effect of thecompensation applied to other paths. Offset controller 106 corrects anyDC offset imparted to the respective signals on each path 101A, 101B,and 101C by the corresponding amplifier 116 and/or by any other suitablecomponent.

The amplified signals from each path are combined into a single signalby mixer 118. Drive amplifier 120 amplifies this output signal to alloweffective communication of the output signal to another destination.Sampler 104 receives the equalizer output signal 46 from drive amplifier120 and a clock signal from clock 105. Sampler 104 samples the equalizeroutput signal 46 at set intervals defined by the clock signal togenerate data values and boundary values associated with the equalizeroutput signal 46. Alternatively, sampler 104 may sample the equalizeroutput signal 46 to generate only data values and forward the sampleddata values and other suitable phase information to adaptive controller102 and offset controller 106. Adaptive controller 102 and offsetcontroller 106 may then derive one or more boundary values using theforwarded data values and phase information. Generally, if the phase isearly, the high or low value of the boundary value is the same as thehigh or low value of the immediately preceding data value. If the phaseis late, the high or low value of the boundary value is the same as thehigh or low value of the immediately following data value.

As described in further detail below, adaptive controller 102 analyzessampled data and boundary values associated with the equalizer outputsignal 46 to adjust the amount of gain applied to one or more paths101A, 101B, and 101C to suitably compensate for residualfrequency-dependent attenuation. Offset controller 106 analyzes sampleddata and boundary values associated with the equalizer output signal 46to adjust the amount of correction voltage applied to one or more paths101A, 101B, and 101C to suitably cancel residual DC offset.

One advantage of not using a dedicated monitor circuit (used in manytypical systems) in the adaptive equalizer described above is that theloading on the equalizer output 46 may be reduced in particularembodiments. Especially in high-speed electrical circuits, reducing theloading on equalizer output 46 may improve maximum operation speed ofequalizer 42 and/or reduce the power consumed by equalizer 42. Not usinga dedicated monitor circuit may also reduce chip area, may efficientlyreuse existing receiver components (i.e., clock 105), and may reduce thedesign effort necessary to design dedicated monitor circuits.

Although particular embodiments of equalizer 42 have been described indetail, there are numerous other possible embodiments. Possiblevariations include, for example, applying different or additionalmathematical operations to paths 101A, 101B, and 101C in order tocompensate for different loss properties, increasing or decreasing thenumber of paths, using manual control for controllers 102 and 106 ratherthan automatic feedback control, using single-stage amplifiers 116,receiving (and suitably adjusting) a signal comprising differentialsequences such as in, for example, low-voltage differential signaling(LVDS), and other variations suggested by the description above. Ingeneral, components may be rearranged, modified or omitted in anysuitable manner, and the functions performed by components may bedistributed among different or additional components or consolidatedwithin single components in any suitable way. Accordingly, it should beunderstood that implementations of receiver 40, equalizer 42, andreceiver logic 47 may include any such variations and that particularembodiments of the present invention may be used in any suitableequalizer context. Reference is made to the Non-Provisional applicationentitled “Adaptive Equalizer with DC Offset Compensation,” Ser. No.10/783,170, filed Feb. 20, 2004, for greater detail about particularexample equalizer components that may be used.

As discussed above, a signal transmitted over channel 30 and received atreceiver 40 may experience frequency-dependent attenuation. At receiver40, equalizer 42 may apply a gain to the received input signal tocompensate for the attenuation exhibited by the signal. Receiver logic47 may analyze the adjusted equalizer output signal 46 for residualattenuation and adjust the gain applied by equalizer 42 to the inputsignal based on this feedback. Specifically, sampler 104 may receive theequalizer output signal 46 (the adjusted input signal) and a clocksignal and sample the output signal at particular points determined bythe clock signal to generate data values and boundary values. Sampler104 may then forward these data and boundary values to adaptivecontroller 102 for suitable analysis (as described below). Based on thisanalysis, adaptive controller 102 may adjust the gain applied to theincoming input signal.

FIGS. 4A, 4B, and 4C illustrate examples of a clock signal in comparisonwith an equalizer output signal exhibiting types of inter-symbolinterference effects. In particular embodiments, sampler 104 may receivesignals such as those illustrated in these figures and sample the outputsignal according to a 2× over-sampling clock and data recovery (CDR)scheme. In such a scheme, sampler 104 may sample the received signal twotimes per data bit period, which may be defined by the clock signal. Forone data bit period, sampler 104 may, for example, sample the outputsignal once at a point in the output signal that should correspond to adata value and once at a point in the output signal that shouldcorrespond to a boundary value. Based on an analysis of particular dataand boundary values, as described further below, adaptive controller 102may adjust the gain applied to the signal received by equalizer 42.

FIG. 4A illustrates an example 200 of a clock signal in comparison withan equalizer output signal 46 that is in-phase with the clock signal andthat exhibits no inter-symbol-interference effects. The clock signaldefines data points (illustrated as arrows corresponding to D0-D5) andboundary points (illustrated as arrows corresponding to E0-E4). Sampler104 may sample the equalizer output signal 46 at a data point togenerate a data value (i.e., D0-D5) and at a boundary point to generatea boundary value (i.e., E0-E4). Each sampled data value and boundaryvalue may comprise a low value (illustrated as “L”), a high value(illustrated as “H”), or an random value (illustrated as “X”) that takeseither a high value or a low value randomly. In particular embodiments,a low value may comprise a “0,” a high value may comprise a “1,” arandom value may randomly comprise either a “0” or a “1,” and an averageof random values may comprise “0.5.” In alternative embodiments, a lowvalue may comprise a “−1,” a high value may comprise a “1,” a randomvalue may randomly comprise either a “−1” or a “1,” and an average ofrandom values may comprise “0.” Sampler 104 may forward sampled datavalues and boundary values to adaptive controller 102 for suitableprocessing and adjustment of gain.

A change from a high to a low value or from a low to a high valuebetween two successive data values is referred to as a transition. Inthe illustrated example 200, transitions occur between low data value D2and high data value D3, between high data value D3 and low data valueD4, and between low data value D4 and high data value D5. In a signalexhibiting no residual inter-symbol interference effects, such as inexample 200, each boundary value between two successive data valuescomprising opposite values (e.g., boundary values E2, E3, and E4)typically comprises a random value (illustrated as “X”). For such asignal, adaptive controller 102 may adjust the gain applied to the inputsignal up or down randomly, as inter-symbol interference effects arealready being fully compensated or do not exist. If the numbers of upadjustments and down adjustments are substantially equal, the gainapplied to the input signal remains on average at the same level. If thenumbers of up adjustments and down adjustments are not substantiallyequal, the gain applied to the input signal may drift slightly from theinitial level. Such drift of the gain level may produce slight residualinter-symbol interference. The equalizer receiver may detect thisinterference and correct the gain back to the average initial level, asillustrated below.

FIG. 4B illustrates an example 300 of a clock signal in comparison withan equalizer output signal 46 that is in-phase with the clock signal butthat exhibits under-compensated residual inter-symbol interferenceeffects. In this case, the equalizer has not compensated the signalsufficiently, and the signal is low-frequency oriented. In alow-frequency oriented signal, if a data pulse (e.g., the data pulse atD3) occurs after several successive data values of the same high or lowvalue have passed (e.g., D0-D2), the data pulse height may be lowered bythe lack of high-frequency component. Also, the boundary values before(e.g., E2) and after (e.g., E3) the data pulse will likely be the sameas the high or low value of the data value (e.g., D2) before the pulse(i.e., they will not comprise a random value). Thus, as describedfurther below, upon analyzing particular data values and boundaryvalues, adaptive controller 102 may increase the gain applied to theinput signal to compensate for the low-frequency distortion. It shouldbe noted, however, that in particular embodiments and as describedbelow, adaptive controller 102 may not be able to compensate for thelow-frequency distortion exhibited by the output signal until atransition (e.g., between D2 and D3) occurs. The boundary value after afew successive transitions (e.g., at E4) may comprise a random value “X”because such successive transitions may increase a high-frequencycomponent and decrease a low-frequency component in the signal, andhence, may reduce the sensitivity of the boundary value to the residualinter-symbol interference.

FIG. 4C illustrates an example 400 of a clock signal in comparison withan equalizer output signal 46 that is in-phase with the clock signal butthat exhibits over-compensated residual inter-symbol interferenceeffects. In this case, the equalizer has applied too much compensationto the input signal, and the signal is high-frequency oriented. In ahigh-frequency oriented signal, if a data pulse (e.g., the data pulse atD3) occurs after several successive data values of the same high or lowvalue have passed (e.g., D0-D2), the pulse height may be raised by theemphasized high-frequency component. Also, the boundary values before(e.g., E2) and after (e.g., E3) the data pulse will likely be theopposite of the high or low value of the data value (e.g., D2) beforethe data pulse (i.e., they will not comprise a random value). Thus, asdescribed further below, upon analyzing particular data values andboundary values, adaptive controller 102 may reduce the gain applied tothe input signal to compensate for the high-frequency distortion. Itshould be noted, however, that in particular embodiments and asdescribed below, adaptive controller 102 may not be able to compensatefor the high-frequency distortion exhibited by the output signal until atransition (e.g., between D2 and D3) occurs. The boundary value after afew successive transitions (e.g., at E4) may comprise a random value “X”because such successive transitions may increase a high-frequencycomponent and decrease a low-frequency component in the signal, andhence, may reduce the sensitivity of the boundary value to the residualinter-symbol interference.

FIG. 5 is a flowchart illustrating a method 500 for interpreting outputsignal values to compensate for residual inter-symbol interferenceaccording to a particular embodiment of the invention. The method beginsat step 510, in which an output signal is sampled using a clock signal.The output signal may be the output of an equalizer, and the outputsignal may be sampled according to a clock signal, as described above inconjunction with FIG. 3.

In particular embodiments, the output signal may be sampled at referencedata points and boundary points determined by the clock signal.Alternatively, the output signal may not be sampled at boundary points,and boundary values corresponding to these non-sampled points may bederived. In particular embodiments, adaptive controller 102 may deriveboundary values from sampled data values and other phase information(i.e., whether the phase of the output signal is early or late). Forexample, if the phase of the output signal is early, adaptive controller102 may determine that the high or low value of the boundary value isthe same as the high or low value of the data value immediatelypreceding the boundary value. If the phase of the output signal is late,adaptive controller 102 may determine that the high or low value of theboundary value is the same as the high or low value of the data valueimmediately after the boundary value.

At step 520, after the output signal is sampled, the sampled data valuesmay be analyzed to determine if a transition has occurred in the values.This analysis may be performed, for example, by adaptive controller 102.At step 530, if a transition is not detected, the method returns to step520. If a transition is detected between successive data values, themethod proceeds to step 540. It should be noted that, in particularembodiments, a transition may be detected by comparing the received datavalues to each other directly. In alternative embodiments, a transitionmay be detected by comparing the received data values and boundaryvalues to pre-defined value patterns that comprise a transition (andthat correspond to particular adaptive control actions). It shouldfurther be noted that, in particular embodiments, adaptive action maytake place after detecting only one transition.

If a transition is detected, at step 540, the boundary value between thesuccessive data values comprising the transition is compared to the datavalue 1.5 bits (or symbols) before the boundary value. In particularembodiments, the relationship between the boundary value and the datavalue 1.5 bits (or symbols) before the boundary value may determine theadaptive equalizer action response. For example, in particularembodiments, an exclusive-OR (XOR) operation (or an exclusive-NOR (XNOR)operation) may be applied to the two values. In such embodiments, theresult of the XOR operation (or XNOR operation) may correspond to aparticular type of inter-symbol interference exhibited by the outputsignal and, thus, may be used to determine the adaptive equalizer actionresponse. In alternative embodiments, an inverted correlation function(or a correlation function) may be applied to the two values. In suchembodiments, the result of the inverted correlation function (orcorrelation function) may correspond to a particular type ofinter-symbol interference exhibited by the output signal and, thus, maybe used to determine the adaptive equalizer action response. In yetalternative embodiments, the boundary value and the data value 1.5 bits(or symbols) before the boundary value may be compared by comparing thereceived data values and boundary values to pre-defined value patterns(that correspond to particular adaptive control actions). Also, inalternative embodiments, data values closer or farther from the boundaryvalue may be used, and not necessarily the data value 1.5 bits (orsymbols) before the boundary value. It should be noted that althoughsome of the discussion herein is phrased in terms of bits, suchdiscussion may alternatively be interpreted to refer to symbols, ifappropriate.

It should also be noted that the analysis of boundary values describedabove (and below) is an example only. More generally, error values, suchas, for example, the particular boundary values described, may indicateresidue of distortion (frequency-dependent distortion and/or DC-offsetdistortion, discussed further below) based on a sampling of an outputsignal. Based on the error value generated, the loss compensation(and/or the offset compensation) applied to a data signal may beadjusted. In particular embodiments, for example, the error value maycomprise a pulse-width value (wide, narrow, or typical), and thepulse-width value may be derived from two successive boundary values andan in-between data value in three successive data values with twotransitions. The pulse-width value may be used to to adjust the losscompensation applied.

At step 550, a determination is made whether the boundary value and thedata value 1.5 bits (or symbols) before the boundary value have the samehigh or low value. In particular embodiments, the two values may becompared in the XOR (or XNOR) operation, as described above. Inalternative embodiments, an inverted correlation function (orcorrelation function) may be applied to the two values. In yetalternative embodiments, the two values may be compared by comparingthem to pre-defined patterns. If the two values have the same high orlow value (e.g., if the XOR result equals “0”, if the invertedcorrelation function result equals “−1”, or if the values correspond toa particular pre-defined value pattern), the method proceeds to step560. At step 560, the equalizer increases the gain applied to thesignal. The increase in gain compensates, in particular embodiments, forthe under-compensated residual inter-symbol interference exhibited bythe signal. Such interference is suggested by the “0” XOR result, asillustrated in FIG. 4B.

It should be noted that, in alternative embodiments, the adaptivecontrol action may be any suitable adaptive control action in variousconventional adaptive control algorithms. For instance, the adaptivecontrol action may be based on conventional adaptive control algorithms,such as the Least-Mean-Square (LMS) algorithm, theSign-Sign-Least-Mean-Square (SS-LMS) algorithm, the Zero-Forcing (ZF)algorithm, and so on.

If, at step 550, a determination is made that the boundary value and thedata value 1.5 bits (or symbols) before the boundary value have theopposite high or low value (e.g., if the XOR result equals “1”, if theinverted correlation function result equals “+1”, or if the valuescorrespond to a particular pre-defined value pattern), the methodproceeds to step 570. At step 570, the equalizer decreases the gainapplied to the signal. The decrease in gain compensates, in particularembodiments, for the over-compensated residual inter-symbol interferenceexhibited by the signal. Such interference is suggested by the “1” XORresult, as illustrated in FIG. 4C.

It should be noted that, in particular embodiments, steps 550, 560, and570 may be performed by adaptive controller 102, and the applied gainmay be adjusted using variable gain amplifiers 116. Also, in particularembodiments, if gain is applied to more than one signal path (e.g., topaths 101 in example equalizer 42), the applied gain may be adjusted inone path and fixed for the other paths. In alternative embodiments, anindependent control variable may be mapped to the plurality of pathsusing a particular function, and gain may be applied to the pathsaccording to the mapping. Alternatively, gain may be adjustedindependently for each path, as discussed further below in conjunctionwith FIGS. 7-10.

FIG. 6 is a table 600 illustrating an example gain control schemeassociated with the method 500 of FIG. 5. Each row 602 corresponds to aparticular pattern of values for which a particular adaptive equalizercontrol action is performed. Columns 610 include a high or low value(“+1” or “−1” in this particular example, although it may be “1” or “0,”or any other suitable values, in other examples) for each of a series ofsampled data and boundary values. Column “D1” includes a first sampleddata value of an output signal, column “D2” includes a second sampleddata value of the output signal, column “D3” includes a third sampleddata value of the output signal, and column “E2” includes the boundaryvalue between the second and third data values. These values are similarto those illustrated in FIGS. 4A-4C. As can be observed, a transitionoccurs between data values in columns “D2” and “D3” in each pattern.

It should be noted that the pattern of values in each row 602 may besampled by sampler 104 and sent to adaptive controller 102. Inparticular embodiments, adaptive controller 102 may receive a greaternumber of values than that illustrated, including, for example, theboundary value between data values in columns “D1” and “D2.”Alternatively, as discussed above, adaptive controller 102 may receiveonly sampled data values and other phase information, and particularboundary values (including, for example, boundary values in column E2)may be derived from the data values and phase information (and may notbe sampled by sampler 104).

Column 612 includes ISI levels. An ISI level is derived from particularvalues associated with an output signal. For example, an ISI level maybe the result of an inverted correlation function applied to a boundaryvalue between two data values comprising a transition and the data value1.5 bits before the boundary value. In particular embodiments, the ISIlevel may be calculated as the inverted value of the product of theboundary value and the data value using “+1/−1” values corresponding to“high/low” values. In table 600, an ISI level in column 612 is theresult of an inverted correlation function applied to the boundary valuein column E2 and the data value in column D1 (1.5 bits before theboundary value) in the same row 602. The ISI level may be calculated asthe inverted value of the product of E2 and D1 using “+1/−1” valuescorresponding to “high/low” values. As illustrated in columns 614 and616, an ISI level of “−1” is associated with an under-compensatedequalization level and an increase in equalizer compensation. An ISIlevel of “+1” is associated with an over-compensated equalization leveland a decrease in equalizer compensation. Thus, based on the ISI level,a particular adaptive equalizer action is applied. In alternativeembodiments, the received data and boundary values may be compared topre-defined value patterns, and these pre-defined value patterns maycorrespond to particular adaptive control actions.

It should be noted that, in particular embodiments, adaptive controller102 may receive a stream of sampled values and select appropriate onesof these values (e.g., the boundary value between two data valuescomprising a transition and the data value 1.5 bits before the boundaryvalue). Adaptive controller 102 may then, for example, derive ISI levelsfrom these selected values by applying an inverted correlation functionto these selected values. Adaptive controller 102 may then apply asuitable adaptive control action based on the result of the invertedcorrelation function. Alternatively, adaptive controller 102 may comparethe sampled values to pre-defined patterns of values (that correspond toparticular adaptive control actions). Based on the particularpre-defined pattern of values to which the sampled values corresponds,adaptive controller 102 may apply the corresponding adaptive controlaction.

Modifications, additions, or omissions may be made to the systems andmethods described without departing from the scope of the invention. Thecomponents of the systems and methods described may be integrated orseparated according to particular needs. Moreover, the operations of thesystems and methods described may be performed by more, fewer, or othercomponents.

In particular embodiments, an equalizer, such as equalizer 42 of FIG. 3,may control more than one independent parameter, such as, for example,the unmodified, first-order, and second-order components of a signal.Examples of multi-parameter (multi-dimensional) equalizers includesecond-order derivative equalizers and 3-tap finite impulse response(FIR) filters. As discussed above, method 500 may be used inmulti-dimensional equalizers if, for example, the applied gain isadjusted for one parameter and fixed for the other parameters.Alternatively, method 500 may be used in multi-dimensional equalizers ifthe applied gain is adjusted according to a particular function thatincorporates the plurality of independent parameters (but does notadjust gain independently for each independent parameter). In thealternative, the applied gain may be adjusted independently for eachindependent control parameter. In a 3-tap FIR filter, for example, thesecond and third tap coefficients may be adjusted independently, andeach of these adjustments may comprise an adjustment to compensation fordistortion, as described further below.

Compensation, such as, for example, gain, may be adjusted independentlyfor each independent control parameter based on particular relationshipsbetween one or more sampled data values and the sampled data value 1.5bits before a boundary value that is between successive data values thatcomprise a transition. Particular relationships may, for example,correspond to particular types of inter-symbol interference forparticular independent control parameters. When, for example, adaptivecontroller 102 detects such relationships among a plurality of sampleddata values (e.g., using pre-defined data value patterns), adaptivecontroller 102 may apply particular adaptive equalizer control actionsto adjust the particular one or more independent control parameters.

The pre-defined data value patterns used by adaptive controller 102 tocompare to the incoming stream of sampled data values may beparticularly sensitive to inter-symbol interference for particularindependent control parameters. These patterns may be selected, forexample, based on the sensitivity of the boundary value between the datavalues comprising a transition to the independent control parameterbeing adjusted. In particular, these patterns may be selected based onthe partial derivative of the equalized-channel impulse response withrespect to that independent control parameter (e.g., on the sign andmagnitude of the partial derivative). This is because equalizer outputsignal 46 is represented as a convolution of the transmit data sequenceand the equalized-channel impulse response.

For example, in an analog, second-order derivative equalizer, thepartial derivative of the equalized-channel impulse response withrespect to the first-order derivative gain may be assumed to be negativeat 1.5 and 2.5 bits after the peak. Hence, if the first-order derivativegain is too high, a correlation between a boundary value and a datavalue 1.5 and 2.5 bits before the boundary value will be likely bothnegative. On the other hand, if the first-order derivative gain is toolow, a correlation between a boundary value and a data value 1.5 and 2.5bits before the boundary value will be likely both positive. This isbecause the data corresponds to the peak of the impulse response and theboundary corresponds to the tail after the peak in the impulse response.The partial derivative of the equalized-channel impulse response withrespect to the second-order derivative gain may be assumed to benegative at 1.5 bits after the peak and positive at 2.5 bits after thepeak. Hence, if the second-order derivative gain is too high, acorrelation between a boundary value and a data value 1.5 bits beforethe boundary value will be likely negative, and a correlation between aboundary value and a data value 2.5 bits before the boundary value willbe likely positive. On the other hand, if the second-order derivativegain is too low, a correlation between a boundary value and a data value1.5 bits before the boundary value will be likely positive, and acorrelation between a boundary value and a data value 2.5 bits beforethe boundary value will be likely negative. Using these relationships,various techniques (e.g., method 700, described below) may be used toadjust the gain applied to a first-order derivative component of aninput signal and the gain applied to a second-order derivative componentof the input signal.

As another example, in a 3-tap finite impulse response (FIR) filterequalizer where the main tap is the first tap, the partial derivative ofthe equalized-channel impulse response with respect to the second tapcoefficient may be assumed to be positive at 1.5 and 2.5 bits after thepeak. The partial derivative of the equalized-channel impulse responsewith respect to the third tap coefficient may be assumed to be zero at1.5 bits after the peak and positive at 2.5 bits after the peak. Usingthese relationships, various techniques (e.g., method 1000, describedbelow) may be used to adjust the second tap coefficient and the thirdtap coefficient. In this manner, the FIR filter equalizer may applymulti-tap FIR-filter equalization in parallel. It should be noted thatdifferent relationships may be used for different types of equalizers.For example, different relationships may be used for a multi-tapdecision-feedback equalizer applying multi-tap decision-feedbackequalization in parallel.

FIG. 7 is a flowchart illustrating an example method 700 forinterpreting output signal values for multiple independent controlparameters in an analog second-order derivative equalizer according to aparticular embodiment of the invention. For an analog second-orderderivative equalizer, three independent control parameters may becontrolled, including, for example, the gain applied to an unmodifiedportion of an input signal, the gain applied to a portion of the inputsignal modified to be the first-order derivative of the input signal,and the gain applied to a portion of the input signal modified to be thesecond-order derivative of the input signal. Parallel compensation maybe applied, for example, by analog continuous-time first-orderderivative-filter equalization and/or by analog continuous-timesecond-order derivative filter equalization.

Method 700 begins at step 710. Steps 710-770 may be the same as steps510-570 in method 500 described above and thus will not be described indetail again. It should be noted, however, that in steps 710-770, thefirst independent parameter may be controlled for a first path. Forexample, steps 710-770 may be used to adjust the gain applied to anunmodified portion of an input signal in a first path (such as path 101Aof equalizer 42). In particular embodiments, increasing equalizercompensation in the first path may be implemented by decreasing the gainapplied to an unmodified portion of an input signal in a first path, anddecreasing equalizer compensation in the first path may be implementedby increasing the gain applied to an unmodified portion of an inputsignal in a first path. This is because the amount of equalizercompensation may depend on the relative gain of the second and thirdpaths to the first path, and thus, increasing the gain of the first pathwill effectively decrease the relative gain of the second and thirdpaths to the first path. In steps 780-850, the second and thirdindependent parameters may be controlled for a second path and thirdpath, respectively. For example, steps 780-850 may be used to adjust thegain applied to a portion of the input signal modified to be thefirst-order derivative of the input signal in a second path (such aspath 101B of equalizer 42) and to adjust the gain applied to a portionof the input signal modified to be the second-order derivative of theinput signal in a third path (such as path 101C of equalizer 42).

At steps 780 and 790, if the boundary value between the data values thatcomprise the transition and the data value 1.5 bits before the boundaryvalue have a different value (high or low), a determination is madewhether the value (high or low) of the data value 1.5 bits before theboundary value is the same as or opposite of the value of the data value2.5 bits before the boundary value. This determination may be made, forexample, by performing a suitable operation or by comparing the receiveddata values and boundary values to pre-defined value patterns (thatcorrespond to particular adaptive control actions). If the two valuesare different (opposite), method 700 proceeds to step 800, and the gainapplied to the second-order derivative component of the input signal inthe third path is decreased. If the two values are the same, method 700proceeds to step 810, and the gain applied to the first-order derivativecomponent of the input signal in the second path is decreased.

At steps 820 and 830, if the boundary value between the data values thatcomprise the transition and the data value 1.5 bits before the boundaryvalue have the same value (high or low), a determination is made whetherthe value (high or low) of the data value 1.5 bits before the boundaryvalue is the same as or opposite of the value of the data value 2.5 bitsbefore the boundary value. Again, this determination may be made, forexample, by performing a suitable operation or by comparing the receiveddata values and boundary values to pre-defined value patterns (thatcorrespond to particular adaptive control actions). If the two valuesare different (opposite), method 700 proceeds to step 840, and the gainapplied to the second-order derivative component in the third path isincreased. If the two values are the same, method 700 proceeds to step850, and the gain applied to the first-order derivative component in thesecond path is increased.

It should be noted that, as described above in method 700, the number ofindependent control parameters may be the same as the number of adjustedparameters in particular embodiments. In alternative embodiments, thenumber of independent control parameters may be less than the number ofadjusted parameters. For example, in an analog 2nd-order derivativeequalizer, there may be two independent control parameters (i.e., afirst gain applied to the first-order derivative component of the inputsignal and a second gain applied to the second-order derivativecomponent of the input signal), and there may be three adjustedparameters (i.e., a third, fixed gain applied to the unmodifiedcomponent of the input signal). As another example, a first independentcontrol variable may control the relationship between the gain appliedto the unmodified component and the gain applied to the first-orderderivative component, and a second control variable may control therelationship between the gain applied to the second-order derivativecomponent and the greater of the gain applied to the unmodifiedcomponent and the gain applied to the first-order derivative component.Method 700 may be modified, as appropriate, to satisfy these differentsituations.

FIG. 8 is a table 900 illustrating an example gain control schemeassociated with the method 700 of FIG. 7. Each row 902 corresponds to aparticular pattern of values for which a particular adaptive equalizercontrol action is performed. Column 910 includes patterns of sampleddata and boundary values, where a value may have a high (“1”) or a low(“0”) value. Column “D0” includes a zeroeth sampled data value of anoutput signal, column “D1” includes a first sampled data value of theoutput signal, column “D2” includes a second sampled data value of theoutput signal, column “D3” includes a third sampled data value of theoutput signal, and column “E2” includes the boundary value between thesecond and third data values. These values are similar to thoseillustrated in FIGS. 4A-4C. As can be observed, a transition occursbetween data values in columns “D2” and “D3” in each pattern.

It should be noted that the values in each row 902 may be sampled bysampler 104 and sent to adaptive controller 102. Adaptive controller 102may compare the sampled values to one or more pre-determined patterns ofvalues. In particular embodiments, upon detecting a match, adaptivecontroller 102 may take an associated set of one or more adaptiveequalizer actions. In such embodiments, particular relationships amongthe values may already be known (e.g., because a pre-determined patternof values is being used), and thus one or more of the steps describedabove in method 700 need not be performed (e.g., steps 780, 790, 820,and 830).

It should further be noted that in particular embodiments, adaptivecontroller 102 may receive a greater number of values than thatillustrated, including, for example, the boundary value between datavalues in columns “D0” and “D1 ” and the boundary value between datavalues in columns “D1” and “D2.” Alternatively, as discussed above,adaptive controller 102 may receive only sampled data values and otherphase information, and particular boundary values (including, forexample, boundary values in column E2) may be derived from the datavalues and other phase information (and may not be sampled by sampler104).

Column 920 includes alternative boundary values at column “E2” for eachrow 902. Column 924 includes, for particular patterns, particularcompensation levels and adaptive equalizer actions associated with theunmodified component of the input signal. The adaptive equalizer actionsmay be applied as discussed above in method 700. Column 930 includes,for particular patterns, particular compensation levels and adaptiveequalizer actions associated with the first-order derivative componentof the input signal. These adaptive equalizer actions may also beapplied as discussed above in method 700. Column 940 includes, forparticular patterns, particular compensation levels and adaptiveequalizer actions associated with the second-order derivative componentof the input signal. These adaptive equalizer actions may also beapplied as discussed above in method 700.

FIG. 9 is a flowchart illustrating an example method 1000 forinterpreting output signal values for multiple equalizer parameters in a3-tap FIR filter according to a particular embodiment of the invention.Method 1000 begins at step 1010. Steps 1010-1030 may be similar to steps510-530 in method 500 described above and thus will not be describedagain in detail. In particular embodiments, the first tap coefficientmay be fixed and not adjusted by the adaptive control. Steps 1080-1170may adjust the second and third tap coefficients. It should be notedthat, in a 3-tap FIR filter, the second and third tap coefficients maybe adjusted independently, as described further below, and each of theseadjustments may comprise an adjustment to compensation for distortion.In general, whether in the context of the 3-tap FIR filter equalizer,the analog derivative filter equalizer, or any other suitable equalizer,even if each path performs only part of the compensation and thecompensation occurs only in the aggregate when the outputs from all thepaths are combined together, the action performed on each path may bereferred to as an application of or adjustment to compensation fordistortion.

At steps 1080 and 1090, a determination is made whether the value (highor low) of the data value 1.5 bits before the boundary value that isbetween the data values that comprise the transition is the same as oropposite of the value of the data value 2.5 bits before the boundaryvalue. This determination may be made, for example, by performing asuitable operation or by comparing the received data values and boundaryvalues to pre-defined value patterns (that correspond to particularadaptive control actions). If the two values are different (opposite),method 1000 proceeds to step 1100. If the two values are the same,method 1000 proceeds to step 1140.

At steps 1100 and 1110, a determination is made whether the value (highor low) of the data value 2.5 bits before the boundary value that isbetween the data values that comprise the transition is the same as oropposite of the value of the boundary value. This determination may bemade, for example, by performing a suitable operation or by comparingthe received data values and boundary values to pre-defined valuepatterns (that correspond to particular adaptive control actions). Ifthe two values are different (opposite), method 1000 proceeds to step1120, and the third tap coefficient is increased. If the two values arethe same, method 1000 proceeds to step 1130, and the third tapcoefficient is decreased.

At steps 1140 and 1150, a determination is made whether the value (highor low) of the data value 2.5 bits before the boundary value that isbetween the data values that comprise the transition is the same as oropposite of the value of the boundary value. Again, this determinationmay be made, for example, by performing a suitable operation or bycomparing the received data values and boundary values to pre-definedvalue patterns (that correspond to particular adaptive control actions).If the two values are different (opposite), method 1000 proceeds to step1160, and the second and third tap coefficients are increased. If thetwo values are the same, method 1000 proceeds to step 1170, and thesecond and third tap coefficients are decreased.

FIG. 10 is a table 1200 illustrating an example gain control schemeassociated with the method of FIG. 9. Each row 1202 corresponds to aparticular pattern of values for which a particular adaptive equalizercontrol action is performed. Column 1210 includes patterns of sampleddata and boundary values, where a value may be a high (“1”) or a low(“0”) value. Column “D0” includes a zeroeth sampled data value of anoutput signal, column “D1” includes a first sampled data value of theoutput signal, column “D2” includes a second sampled data value of theoutput signal, column “D3” includes a third sampled data value of theoutput signal, and column “E2” includes the boundary value between thesecond and third data values. These values are similar to thoseillustrated in FIGS. 4A-4C. As can be observed, a transition occursbetween data values in columns “D2” and “D3” in each pattern.

It should be noted that the pattern of values in each row 1202 may besampled by sampler 104 and sent to adaptive controller 102. Adaptivecontroller 102 may compare the sampled values to one or morepre-determined patterns of values. In particular embodiments, upondetecting a match, adaptive controller 102 may take an associated set ofone or more adaptive equalizer actions. In such embodiments, particularrelationships among the values may already be known (e.g., because apre-determined pattern of values is being used), and thus one or more ofthe steps described above in method 1000 need not be performed (e.g.,step 1080).

It should further be noted that in particular embodiments, adaptivecontroller 102 may receive a greater number of values than thatillustrated, including, for example, the boundary value between datavalues in columns “D0” and “D1” and the boundary value between datavalues in columns “D1 ” and “D2.” Alternatively, as discussed above,adaptive controller 102 may receive only sampled data values and otherphase information, and particular boundary values (including, forexample, boundary values in column E2) may be derived from data valuesand other phase information (and may not be sampled by sampler 104).

Column 1220 includes alternative boundary values at column “E2” for eachrow 1202. Column 1230 includes, for particular patterns, particularcoefficient levels and adaptive equalizer actions associated with thesecond tap coefficient. These adaptive equalizer actions may also beapplied as discussed above in method 1000. Column 1240 includes, forparticular patterns, particular coefficient levels and adaptiveequalizer actions associated with the third tap coefficient. Theseadaptive equalizer actions may also be applied as discussed above inmethod 1000.

Modifications, additions, or omissions may be made to the systems andmethods described without departing from the scope of the invention. Thecomponents of the systems and methods described may be integrated orseparated according to particular needs. Moreover, the operations of thesystems and methods described may be performed by more, fewer, or othercomponents.

As discussed above in conjunction with FIG. 5, the relationship betweena boundary value between successive data values comprising a transitionand the data value 1.5 bits before the boundary value may correlate toparticular equalization levels of a signal. The correlation may beparticularly accurate for a signal having well-randomized datasequences. However, if a signal has periodic or quasi-periodic datasequences, the correlation may be affected by the periodicity of thesequences. In particular, the correlation may be even more heavilyaffected by the periodicity of the sequences, if the incoming signal orthe clock signal has duty cycle distortion.

In general, the periodic or quasi-periodic data sequence has strongcorrelation between data values such as adjacent data values, andaffects the frequency spectrum of the signal. For instance, if adjacentdata values are more likely the same value than different values, thesignal is low-frequency oriented, and if adjacent data values are morelikely different values than the same value, the signal ishigh-frequency oriented. Such distortion in the frequency spectrum ofthe signal may affect an adaptive equalizer's ability to make thespectrum of the signal flat. In general, the periodic or quasi-periodicdata sequences have such negative effect on an equalizer's adaptive gaincontrol, even if there is no duty cycle distortion.

Duty cycle distortion may emphasize such negative effect of periodic andquasi-periodic sequences on an equalizer's adaptive gain control. Forexample, suppose an incoming data may be labeled as even data and odddata in turn. Boundary between data may also be labeled as even boundaryand odd boundary in turn. Here, even boundary may refer to boundaryafter even data and before odd data, and odd boundary may refer toboundary after odd data and before even data. The duty cycle distortionmay cause the receiver logic's even and odd boundary values heavilybiased to “early” phase (i.e., same as the previous data value) or“late” phase (i.e., same as the next data value). For instance, evenboundary value may be biased to “early” phase, and odd boundary valuemay be biased to “late” phase.

If the period of periodic or quasi-periodic data sequence is a multipleof two data values, the number of transitions at even boundary and thenumber of transitions at odd boundary may be biased as well. Forinstance, transitions may occur more frequently at even boundary thanodd boundary in a periodic or quasi-periodic data sequence. Theequalizer control may be affected by how the boundary value is biased(i.e., whether “early” phase or “late” phase) due to duty-cycledistortion at the even or odd boundary which dominates transitions inthe periodic or quasi-periodic data sequence. Such effect may not bedeterministic until the recovered clock locks to the incoming periodicor quasi-periodic incoming data sequence, because the correspondencebetween the bias of boundary values having “early or late” phase due toduty-cycle distortion and the bias of boundary having “dominant ornon-dominant” transition due to periodic or quasi-periodic data sequencemay depend on how the recovered clock with duty-cycle distortion locksto the incoming periodic or quasi-periodic data sequence.

Due to such bias of boundary value, either “early” phase or “late”phase, at the “even” or “odd” boundary which dominates transitions inthe periodic or quasi-periodic data sequence, equalizer control actionsmay also be biased. An unbalanced bias toward a particular equalizercontrol action may produce an unacceptable result in the equalizercontrol.

FIG. 11 illustrates example boundary information 1300 affected byduty-cycle distortion. A signal 1310 is received at the receiver logicand sampled using a four-phase half-rate clock with duty-cycledistortion. Even data values may be sampled at rising edges of clock A(CLKA) 1320, odd data values may be sampled at rising edges of clock C(CLKC) 1340, even boundary values may be sampled at rising edges ofclock B (CLKB) 1330, and odd boundary values may be sampled at risingedges of clock D (CLKD) 1350. In the example, the duty cycle of clock B1330 is more than 50%, and the duty cycle of clock D 1350 is less than50%. As a result, the even boundary values sampled at the rising edge ofclock B 1330 are heavily biased to an “early” phase, and the oddboundary values sampled at the rising edge of clock D 1350 are heavilybiased to a “late” phase. The clock recovery loop can lock in this phaseposition if it takes the average of “early” counts and “late” counts. Ifthe incoming periodic or quasi-periodic signal has biased transitionsbetween even and odd boundary, biased phase at the boundary thatdominates transitions will bias the adaptive control actions. Forexample, if even boundary being sampled at rising edges of clock B(CLKB) 1330 has more transitions than odd boundary being sampled atrising edges of clock D (CLKD) 1350, the adaptive control actions arebiased to “early” phase at the even boundary. If these biases are notaccounted for in the adaptive gain controller of the equalizer, theresult of the equalizer's adaptive operation may be affected.

One way of accounting for opposite biases in even and odd boundaryvalues is by balancing the biases. This balance may be achieved byapplying adaptive equalizer actions only when the controller detectsparticular data patterns that are distributed substantially equally(having substantially equal probabilities of occurrence) in the twophases. These particular data patterns (which may be referred to asfilter patterns) may be used to balance biases arising in (quasi-)periodic data sequences and may also be used, without a problem, withwell-randomized data sequences. In this way, the characteristics of theadaptive equalizer control may be made consistent for (quasi-) periodicdata sequences and well-randomized data sequences. If more than oneindependent control parameter exists, the adaptive equalizer control mayuse particular filter patterns to control the gain applied to eachparticular independent control parameter. In particular embodiments, thefilter patterns used to control the gain applied to a particular controlparameter may be selected from the set of substantially equallyoccurring patterns and according to the partial gradient of theequalized-channel impulse response for the parameter, as discussed abovein conjunction with FIGS. 7-10.

FIG. 12 is a flowchart illustrating an example method 1400 for selectinga filter pattern to reduce the negative effect of duty-cycle distortionaccording to a particular embodiment of the invention. Method 1400 maybe used to select filter patterns for use with periodic orquasi-periodic data sequences such as, for example, the 8B10B idlesequences and the 8B10B CJPAT test sequences defined by the Institute ofElectrical and Electronics Engineers (IEEE) 802.3ae standard.

Method 1400 begins at step 1410 where a set of even and odd datasequences are monitored. The set of even data sequences comprise datasequences that start from even data (i.e., at even phase), and then arefollowed by odd data, even data, odd data, and so on. The set of odddata sequences comprises data sequences that start from odd data (i.e.,at odd phase), and then are followed by even data, odd data, even data,and so on. At step 1420, the distribution of data patterns in the evenand odd data sequences is determined. In particular embodiments, thedata patterns may include six bits. In alternative embodiments, the datapatterns may include five bits. In yet alternative embodiments, the datapatterns may include any other suitable number of bits. At steps 1430and 1440, only those patterns that are observed in both the even and odddata sequences are further analyzed. Those patterns that are notobserved in both sequences are not selected as filter patterns at step1500.

At steps 1450 and 1460, for those patterns that are observed in the datapattern distributions of both even and odd data sequences, adetermination is made whether any of these patterns are equally (orsubstantially equally) distributed in both the even and odd datasequences. As discussed above, selecting substantially equallydistributed data patterns as filter patterns may cancel the biasesproduced by duty-cycle distortion. For those patterns that are equally(or substantially equally) distributed, method 1400 proceed to step1470. Any patterns that are not substantially equally distributed arenot selected as filter patterns at step 1500.

At steps 1470 and 1480, a determination is made whether any of theremaining patterns has a transition between the last two bits. Asdiscussed above, the relationship between a boundary value that isbetween successive data values that comprise a transition and one ormore of the data values preceding the boundary value is used todetermine the adaptive equalizer action that is to be applied. Thus,particular embodiments may select only those data patterns that have atransition between the last two bits. In such embodiments, any patternsnot having a transition between the last two bits are thus not selectedas filter patterns at step 1500.

At step 1490, those patterns that are observed in both sequences, are(substantially) equally distributed in both sequences, and have atransition between the last two bits are selected as filter patterns. Itshould be noted, however, that even these patterns may be furtheranalyzed before being selected as filter patterns. For example, asdescribed further below, a particular pattern(s) among these may beselected for controlling a particular independent control parameter ifthe particular pattern(s) is better suited for controlling theparticular independent control parameter. These filter patterns may thenbe used as discussed herein to make equalizer control adjustments.

FIG. 13 is a table illustrating an example distribution 1600 of 6-bitdata patterns in even and odd 8B10B idle data sequences. Column 1610includes the 6-bit data patterns, column 1620 includes the probabilityof observing a particular pattern in the even 8B10B idle data sequence,and column 1630 includes the probability of observing a particularpattern in the odd 8B10B idle data sequence. Here, the even datasequence refers to the data sequence that starts at even data and isfollowed by odd data, even data, odd data, and so on. The odd datasequence refers to the data sequence that starts at odd data and isfollowed by even data, odd data, even data, and so on. For each datapattern in column 1610, earlier bits are to the left of later bits. Ablank cell in either column 1620 or column 1630 represents a zeroprobability of observing the associated data pattern in the associateddata sequence.

As illustrated in distribution 1600, four data patterns—000010, 111010,000101, and 111101—are observed in both even and odd 8B10B idle datasequences. These four patterns are also equally distributed in bothsequences, each pattern observed 4.796% of the time. In addition, thesefour patterns have a transition between the last two bits. Thus, inparticular embodiments, these data patterns may be selected as filterpatterns using method 1400, and adaptive control actions may be appliedonly when these filter patterns are observed. Using these filterpatterns, the negative effects of duty-cycle distortion may be reduced.In addition, the control behavior for the 8B10B idle data sequences maybe consistent with the control behavior for well-randomized datasequences.

It should be noted that, in particular embodiments, independent controlparameters may be used to adjust the gain applied to first-order andsecond-order derivative components of an input signal (e.g., in asecond-order derivative equalizer). In such cases, particular ones ofthe observed and equally distributed filter patterns may be bettersuited for the independent control parameters when receiving 8B10B idledata sequences. For example, well-suited filter patterns may includethose having a boundary value between successive data values comprisinga transition that is relatively sensitive to the gain applied to eitherthe first-order or second-order derivative components. Thus, in thisexample, well-suited filter patterns include those that cause theadaptive controller to effectively equalize either the first-order orsecond-order derivative component of the signal.

For the 8B10B idle data sequences, well-suited filter patterns mayinclude 000010 and 111101 for applying gain to the first-orderderivative component. In particular embodiments, adaptive controlactions may thus be applied to the first-order derivative component onlywhen data values corresponding to these filter patterns are observed atthe equalizer. In this manner, the first-order derivative component ofthe signal may be effectively equalized. For applying gain to thesecond-order derivative component (in the context of 8B10B idle datasequences), well-suited filter patterns may include 000101 and 111010.In particular embodiments, adaptive control actions may thus be appliedto the second-order derivative component only when data valuescorresponding to these filter patterns are observed at the equalizer. Inthis manner, the second-order derivative component of the signal may beeffectively equalized.

FIG. 14 is a table 1700 illustrating an example gain control schemeassociated with using the example filter patterns derived from FIG. 13to adjust the gain applied to unmodified, first-order derivative, andsecond-order derivative components of an input signal. The input signalmay be, for example, an 8B10B idle data signal, another (quasi-)periodic signal (where the filter patterns of FIG. 13 are substantiallyequally distributed), or a well-randomized signal. Each row 1702corresponds to a particular pattern of values for which a particularadaptive equalizer control action is performed. Each of the datapatterns in rows 1702 corresponds to one of the selected filter patternsdescribed above in conjunction with FIG. 13.

Column 1710 includes patterns of sampled data and boundary values, wherea value may have a high (“1”) or a low (“0”) value. Column “D0 ”includes a zeroeth sampled data value of an output signal, column “D1”includes a first sampled data value of the output signal, column “D2”includes a second sampled data value of the output signal, column “D3”includes a third sampled data value of the output signal, column “D4”includes a fourth data value of the output signal, column “D5” includesa fifth sampled data value of the output signal, and column “E4”includes the boundary value between the fourth and fifth data values. Ascan be observed, a transition occurs between data values in columns “D4”and “D5” in each pattern.

It should be noted that the pattern of values in each row 1702 may besampled by sampler 104 and sent to adaptive controller 102. Adaptivecontroller 102 may compare the sampled values to one or morepre-determined filter patterns. In particular embodiments, upondetecting a match, adaptive controller 102 may take an associated set ofone or more adaptive equalizer actions as described herein.

It should further be noted that in particular embodiments, adaptivecontroller 102 may receive a greater number of values than thatillustrated, including, for example, the boundary values between datavalues in columns “D0” through “D4.” Alternatively, as discussed above,adaptive controller 102 may receive only sampled data values and otherphase information, and particular boundary values (including, forexample, boundary values in column E4) may be derived from the datavalues and other phase information (and may not be sampled by sampler104).

Column 1720 includes alternative boundary values at column “E4” for eachrow 1702. Column 1724 includes, for particular patterns, particularcompensation levels and adaptive equalizer actions associated with theunmodified component of the input signal. The adaptive equalizer actionsmay be controlled in any suitable manner, including, for example, byanalyzing particular values. Column 1730 includes, for particularpatterns, particular compensation levels and adaptive equalizer actionsassociated with the first-order derivative component of the inputsignal. These adaptive equalizer actions may also be controlled in anysuitable manner, including, for example, by analyzing particular values.Column 1740 includes, for particular patterns, particular compensationlevels and adaptive equalizer actions associated with the second-orderderivative component of the input signal. These adaptive equalizeractions may also be controlled in any suitable manner, including, forexample, by analyzing particular values.

FIG. 15 is a table illustrating an example distribution 1800 of 6-bitdata patterns in even and odd 8B10B CJPAT data sequences. Column 1810includes the 6-bit data patterns, column 1820 includes the probabilityof observing a particular pattern in the even 8B10B CJPAT data sequence,and column 1830 includes the probability of observing a particularpattern in the odd 8B10B CJPAT data sequence. Here, the even datasequence refers to the data sequence that starts at even data and isfollowed by odd data, even data, odd data, and so on. The odd datasequence refers to the data sequence that starts at odd data and isfollowed by even data, odd data, even data, and so on. For each datapattern in column 1810, earlier bits are to the left of later bits. Ablank cell in either column 1820 or column 1830 represents a zeroprobability of observing the associated data pattern in the associateddata sequence. It should be noted that distribution 1800 is adistribution of data patterns in a “CJPAT-like” data sequence. TheCJPAT-like data sequence is the same as the 8B10B CJPAT data sequence ofthe IEEE 802.3ae standard, excluding lane-to-lane difference such as thestart-up, preamble, CRC, and IPG sequences. The overall characteristicsof the CJPAT-like data sequence are relatively similar to the actual8B10B CJPAT data sequence.

As illustrated in distribution 1800, patterns 001110 and 110001 areobserved in both even and odd 8B10B CJPAT test sequences. Furthermore,these two patterns are also substantially equally distributed in bothsequences. Pattern 001110 is observed 7.340% in the even sequence and7.394% in the odd sequence. Pattern 110001 is observed 7.394% in theeven sequence and 7.394% in the odd sequence. In addition, these twopatterns have a transition between the last two bits. Thus, inparticular embodiments, these data patterns may be selected as filterpatterns using method 1400, and adaptive control actions may be appliedonly when these filter patterns are observed. Using these filterpatterns, the negative effects of duty-cycle distortion may be reduced.In addition, the control behavior for the 8B10B CJPAT data sequences maybe consistent with the control behavior for well-randomized datasequences.

It should be noted that, in particular embodiments, the filter patternsselected for the 8B10B idle data sequences and for the 8B10B CJPAT datasequences may be used concurrently by an equalizer receiving 8B10B idledata sequences, 8B10B CJPAT data sequences, and random sequences. As canbe observed in the 8B10B CJPAT data sequence distribution 1800, the8B10B idle filter patterns—000010, 111101, 000101, and 111010—arisedisproportionately in the even and odd sequences. However, because theseunbalanced filter patterns are observed only at relatively lowprobabilities during receipt of the 8B10B CJPAT data sequences, usingthem during receipt of the 8B10B CJPAT data sequences typically wouldnot create a bad result in the adaptive control. As can be observed inthe 8B10B idle data sequence distribution 1600, use of the 8B10B CJPATfilter patterns 001110 and 110001 during receipt of 8B10B idle datasequences would not create a bad result in the adaptive control, asthese filter patterns are never observed in 8B10B idle data sequences.

It should further be noted that, in particular embodiments, independentcontrol parameters may be used to adjust the gain applied to first-orderand second-order derivative components of an input signal (e.g., in asecond-order derivative equalizer). In such cases, particular ones ofthe observed and equally distributed filter patterns may be bettersuited for the independent control parameters when receiving 8B10B CJPATdata sequences.

For the 8B10B CJPAT data sequences, well-suited filter patterns forapplying gain to the first-order derivative component may include 110001and 001110. In particular embodiments, adaptive control actions may thusbe applied to the first-order derivative component only when data valuescorresponding to these filter patterns are observed at the equalizer. Inthis manner, the first-order derivative component of the signal may beeffectively equalized. In embodiments where, as described above, 8B10Bidle filter patterns are also being used, well-suited filter patternsfor applying gain to the first-order derivative component may alsoinclude 000010 and 111101.

For applying gain to the second-order derivative component (in thecontext of 8B10B CJPAT data sequences), well-suited filter patterns mayinclude 000101 and 111010. It should be noted that these filter patternsare the same as those used by the equalizer to apply gain to thesecond-order derivative component in 8B10B idle data sequences. Itshould further be noted that these two filter patterns arisedisproportionately in the even and odd data sequences in the 8B10B CJPATdata sequence. However, because these unbalanced filter patterns areobserved only at relatively low probabilities, using them during receiptof an 8B10B CJPAT data sequence does not create a bad result in theadaptive control.

FIG. 16 is a table 1900 illustrating an example gain control schemeassociated with using the example filter patterns derived from FIG. 15to adjust the gain applied to unmodified, first-order derivative, andsecond-order derivative components of an input signal. The input signalmay be, for example, an 8B10B CJPAT data signal, another (quasi-)periodic signal (where the filter patterns of FIG. 15 are substantiallyequally distributed), or a well-randomized signal. Each row 1902corresponds to a particular pattern of values for which a particularadaptive equalizer control action is performed. Each of the datapatterns in rows 1902 corresponds to one of the selected filter patternsdescribed above in conjunction with FIG. 15.

Column 1910 includes patterns of sampled data and boundary values, wherea value may have a high (“1”) or a low (“0”) value. Column “D0” includesa zeroeth sampled data value of an output signal, column “D1” includes afirst sampled data value of the output signal, column “D2” includes asecond sampled data value of the output signal, column “D3” includes athird sampled data value of the output signal, column “D4” includes afourth sampled data value of the output signal, column “D5” includes afifth sampled data value of the output signal, and column “E4” includesthe boundary value between the fourth and fifth data values. As can beobserved, a transition occurs between data values in columns “D4” and“D5” in each pattern.

It should be noted that the pattern of values in each row 1902 may besampled by sampler 104 and sent to adaptive controller 102. Adaptivecontroller 102 may compare the sampled values to one or morepre-determined filter patterns. In particular embodiments, upondetecting a match, adaptive controller 102 may take an associated set ofone or more adaptive equalizer actions as described herein.

It should further be noted that in particular embodiments, adaptivecontroller 102 may receive a greater number of values than thatillustrated, including, for example, the boundary values between datavalues in columns “D0” through “D4.” Alternatively, as discussed above,adaptive controller 102 may receive only sampled data values and otherphase information, and particular boundary values (including, forexample, boundary values in column E4) may be derived from the datavalues and other phase information (and may not be sampled by sampler104).

Column 1920 includes alternative boundary values at column “E4” for eachrow 1902. Column 1924 includes, for particular patterns, particularcompensation levels and adaptive equalizer actions associated with theunmodified component of the input signal. The adaptive equalizer actionsmay be controlled in any suitable manner, including, for example, byanalyzing particular values. Column 1930 includes, for particularpatterns, particular compensation levels and adaptive equalizer actionsassociated with the first-order derivative component of the inputsignal. These adaptive equalizer actions may also be controlled in anysuitable manner, including, for example, by analyzing particular values.Column 1940 includes, for particular patterns, particular compensationlevels and adaptive equalizer actions associated with the second-orderderivative component of the input signal. These adaptive equalizeractions may also be controlled in any suitable manner, including, forexample, by analyzing particular values.

Modifications, additions, or omissions may be made to the systems andmethods described without departing from the scope of the invention. Thecomponents of the systems and methods described may be integrated orseparated according to particular needs. Moreover, the operations of thesystems and methods described may be performed by more, fewer, or othercomponents.

Filter patterns may be used in particular embodiments to reduce thenegative effects of duty-cycle distortion and particular (quasi-)periodic signals. As discussed above, a filter pattern may be selectedbased on the well-balanced appearance of the pattern in a set of evenand odd sequences in one or more (quasi-) periodic signals. Inparticular embodiments, filter patterns may be selected specifically forparticular pre-defined signals, such as an 8B10B idle signal or an 8B10BCJPAT signal. These filter patterns may then be used to cause theadaptive control to take action only when these filter patterns aredetected. During an equalizer's receipt of the particular pre-defined,periodic signals for which the filter patterns were specificallyselected, use of the filter patterns may reduce the negative effects ofduty-cycle distortion. However, during the equalizer's receipt of otherperiodic signals for which the filter patterns were not specificallyselected, use of the filter patterns may lead to an unacceptable resultof adaptive equalizer control, as these filter patterns may not bewell-balanced for these other periodic signals.

One solution to the limited applicability of selected filter patterns isto freeze (stop or otherwise not use) the adaptive equalizer controlwhen a determination cannot be made that the filter pattern iscompatible with an incoming signal. For example, the adaptive equalizercontrol may be frozen for incoming data sequences that are identified asnot being well-randomized or as not being the (quasi-) periodic datasequences used to select the filter pattern(s). The adaptive equalizermay additionally or alternatively be frozen for incoming data sequencesthat cannot be identified as either being compatible or incompatible.For example, the adaptive equalizer may be frozen for seeminglywell-randomized sequences if it cannot be determined whetherincompatible (quasi-) periodic sequences are included in the seeminglywell-randomized sequences.

Temporarily freezing the adaptive equalizer control may be acceptablebecause channel characteristics are not likely to change in theshort-term. However, freezing the equalizer control for relatively longperiods of time may be disadvantageous because the channelcharacteristics affecting inter-symbol interference may change. Forexample, environmental changes, such as temperature drift or cablemovement, may take place that affect inter-symbol interference. Ifchannel characteristics change and inter-symbol interference isaffected, the equalizer's adaptive control may be needed to compensatefor the changed signal attenuation. Thus, freezing the adaptive controlfor long periods of time while waiting for data sequences compatiblewith selected filter patterns may be disadvantageous in particularcircumstances.

A second solution is to select a set (or list) of useful filter patternsthat are compatible with any (quasi-) periodic data signal when appliedin a balanced manner by the equalizer control. In particularembodiments, these filter patterns need not depend on their distributionin particular (quasi-) periodic signals. Thus, one or more filterpatterns in the list may not appear equally in the even and oddsequences in a particular (quasi-) periodic data signal; however,balanced application of the various potentially unequally distributedfilter patterns may cancel out the biases of the unequally distributedfilter patterns. Balanced application may result in even patterns andodd patterns being observed and acted upon substantially equally,canceling their adaptive biases and reducing the negative effect of dutycycle distortion and any type of incoming (quasi-) periodic signal.

In addition to canceling the adaptive biases due to duty-cycledistortion, balanced application of filter patterns may provideconsistent results of adaptive control for any (quasi-) periodic or wellrandomized data, by canceling various adaptive biases that may occur in(quasi-) periodic data signal. In other words, if application of filterpatterns is not balanced, the adaptive control results may be stronglybiased to the dominant filter patterns that may vary among various(quasi-) periodic or well randomized data sequence, and thus, theadaptive control results may depend on the incoming data sequence. Forexample, if the incoming data sequence is low-frequency oriented, theadaptive control may be biased to low-frequency patterns, and theadaptive control results may be high-frequency oriented. If the incomingdata sequence is high-frequency oriented, the adaptive control may bebiased to high-frequency patterns, and the adaptive control results maybe low-frequency oriented. If application of filter pattern is balanced,adaptive control takes an action for each filter pattern atsubstantially equal probabilities, and thus, the adaptive controlresults may become consistent for any (quasi-) periodic or wellrandomized data.

In particular embodiments, a list of useful filter patterns may begenerated initially and remain unmodified (i.e., “fixed”) duringoperation of the equalizer adaptive control. If the list comprisessix-bit filter patterns, the list may include all possible variations ofsix-bit patterns. Alternatively, the list may include all possiblevariations of six-bit patterns with a data transition between a certainconsecutive two data bits such as the last two data bits. In yetalternative embodiments, the list may include only a subset of allpossible variations of six-bit patterns, and the generator of the listmay determine that the particular subset is useful. In any case, theadaptive control may cycle through the fixed list of useful filterpatterns in any suitable manner. For example, the adaptive control maycycle through the fixed list as discussed below in conjunction withFIGS. 20-22.

Although fixed lists may be used in particular embodiments, inalternative embodiments, it may be advantageous to use dynamic liststhat are adaptable to incoming sequences. In particular embodiments,using a dynamic list adaptable to incoming sequences may increase thefrequency of adaptive control actions, addressing changing channelcharacteristics more quickly. The adaptive control may cycle through thedynamic list in any suitable manner. For example, the adaptive controlmay cycle through the dynamic list as discussed below in conjunctionwith FIGS. 20-22. It should be noted that, in particular embodiments,the equalizer adaptive control may constantly be enabled while using afixed or dynamic list. It should further be noted that, if there is morethan one independent control parameter, a separate list (fixed ordynamic) of useful filter patterns may be used for each independentcontrol parameter in particular embodiments.

On the other hand, fixed lists may be more advantageous than dynamiclists regarding to the consistency of adaptive control results amongvarious (quasi-) periodic or well randomized data, because dynamic listsmay compromise on some inconsistency of adaptive control results bydynamically changing the list of filter patterns, whereas the fixed listmay not compromise on any inconsistency of adaptive control results byinsisting on the fixed list of filter patterns.

FIG. 17 is a flowchart illustrating an example method 2000 forgenerating a list of useful filter patterns dynamically according to aparticular embodiment of the invention. Method 2000 may be performed,for example, to update a list of useful filter patterns to includeuseful patterns observed in incoming sequences and to remove patternsthat are no longer useful. Method 2000 begins at step 2010, where a newlist of useful filter patterns is used. In particular embodiments, thenew list of useful filter patterns may be used in a balanced manner, asdiscussed below in conjunction with FIGS. 20 and 21. Also, undetectedfilter patterns may be skipped, as discussed in conjunction with FIG. 22below.

At step 2020, data patterns in the incoming sequence(s) are monitored,and useful and not useful data patterns may be detected. In particularembodiments, only data patterns of a certain bit size (corresponding tothe size of the applied filter patterns) are monitored. A useful datapattern may include, for example, a data pattern that is observedfrequently in the incoming sequence(s) and that comprises at least onetransition between successive data values in the pattern. In particularembodiments, a data pattern may also only be useful if the transitionoccurs between certain two data values such as the last two data valuesin the pattern. A data pattern may also be useful, for example, if thedata pattern enhances the sensitivity of the controlled parameter on theboundary value. For instance, a data pattern with the same data value1.5 bits before the boundary as the data value 2.5 bits before theboundary may be useful to control the gain of the first-order derivativecomponent of the analog second-order derivative equalizer, whereas adata pattern with a different data value 1.5 bits before the boundarythan the data value 2.5 bits before the boundary may be useful tocontrol the gain of the second-order derivative component of the analogsecond-order derivative equalizer. Patterns that are not useful mayinclude those that are not observed or are rarely observed, those thatdo not include at least one transition between successive data values inthe pattern, or those that reduce the sensitivity of the controlledparameter on the boundary value. For example, a data pattern with adifferent data value 1.5 bits before the boundary than the data value2.5 bits before the boundary may not be useful to control the gain ofthe first-order derivative component of the analog second-orderderivative equalizer, and a data pattern with the same data value 1.5bits before the boundary as the data value 2.5 bits before the boundarymay not be useful to control the gain of the second-order derivativecomponent of the analog second-order derivative equalizer. Thesepatterns may not be useful because they would not increase the frequencyof adaptive control action, a goal of using a dynamic list, or would noteffectively contribute adaptive control. After being detected, usefulpatterns may be compiled in a list or otherwise stored. In particularembodiments, patterns that are not useful may also be compiled in a listor otherwise stored.

At step 2030, a determination is made whether enough of the incomingsequence(s) has been monitored. If not enough of the incomingsequence(s) has been monitored, the method returns to step 2020. Ifenough of the incoming sequence(s) has been monitored, the methodproceeds to step 2040. Enough of the incoming sequence(s) may have beenmonitored, for example, after a certain number or type of useful datapatterns has been detected or after a certain amount of time has passed.

At step 2040, the list of useful filter patterns is updated using, forexample, the compiled list of useful patterns detected in the incomingdata sequence(s). In particular embodiments, one or more (or all of the)useful patterns detected in the incoming data sequence(s) may be addedto or may replace the list of useful filter patterns. Alternatively, thelist of useful filter patterns may already include the detected patternsand thus need not be modified to include the detected patterns. Ineither case, filter patterns that are not useful may be deleted from thelist of useful filter patterns. In particular embodiments, the compiledlist of detected patterns that are not useful may also be deleted. Afterupdating the list of useful filter patterns, the method returns to step2010, where the new list of useful filter patterns is used.

FIG. 18 is a flowchart illustrating another example method 2100 forgenerating a list of useful filter patterns dynamically according to aparticular embodiment of the invention. Like method 2000, method 2100may be performed to update a list of useful filter patterns to includeuseful patterns observed in incoming sequences and to remove patternsthat are no longer useful. Method 2100 may further create separatedynamic lists for the even and odd data sequences. Method 2100 may alsooptionally edit these lists such that neither even nor odd sequencesdominate the adaptive control. Doing so may reduce the negative effectsof duty cycle distortion.

Method 2100 begins at step 2110, where a new list of useful filterpatterns is used. In particular embodiments, the new list of usefulfilter patterns may be used in a balanced manner, as discussed below inconjunction with FIGS. 20 and 21. The new list of filter patterns mayalso be used in conjunction with timeout detection to skip undetectedfilter patterns after a period of time, as discussed further below inconjunction with FIG. 22.

At step 2120, data patterns in the even and odd data sequences, whicheither start at even bit and are followed by odd bit, even bit, odd bitand so on, or start at odd bit and are followed by even bit, odd bit,even bit and so on, respectively, are monitored, and useful and notuseful data patterns in each data sequence are detected. A useful datapattern may include, for example, a data pattern that is observedfrequently in an incoming data sequence and that comprises at least onetransition between successive data values in the pattern. In particularembodiments, a data pattern may also only be useful if the transitionoccurs between certain two data values in the pattern. A data patternmay also be useful, for example, if the data pattern enhances thesensitivity of the controlled parameter on the boundary value. Forexample, a data pattern with the same data value 1.5 bits before theboundary as the data value 2.5 bits before the boundary may be useful tocontrol the gain of the first-order derivative component of the analogsecond-order derivative equalizer, whereas a data pattern with adifferent data value 1.5 bits before the boundary than the data value2.5 bits before the boundary may be useful to control the gain of thesecond-order derivative component of the analog second-order derivativeequalizer. Patterns that are not useful may include those that are notobserved or are rarely observed, that do not include at least onetransition between successive data values in the pattern, or that reducethe sensitivity of the controlled parameter on the boundary value. Forexample, a data pattern with a different data value 1.5 bits before theboundary than the data value 2.5 bits before the boundary may not beuseful to control the gain of the first-order derivative component ofthe analog second-order derivative equalizer, and a data pattern withthe same data value 1.5 bits before the boundary as the data value 2.5bits before the boundary may not be useful to control the gain of thesecond-order derivative component of the analog second-order derivativeequalizer. The detected, useful patterns may be compiled in separatelists for the even and odd data sequences or otherwise storedseparately. In particular embodiments, patterns that are not useful mayalso be compiled in separate lists for the even and odd data sequencesor otherwise stored separately.

At step 2130, a determination is made whether enough of the incomingeven and odd sequences has been monitored. If not enough of thesequences has been monitored, the method returns to step 2120. If enoughof the sequences has been monitored, the method proceeds to step 2140.Enough of the incoming sequences may have been monitored, for example,after a certain number or type of useful data patterns has been detectedor after a certain amount of time has passed.

At step 2140, of those useful patterns that are detected, the patternsthat appear only in one of the even sequence and the odd sequence aredisregarded. In particular embodiments, the useful patterns detected inthe even data sequence may be compared to the useful patterns detectedin the odd data sequence, and those patterns that were observed only inone of the even and odd sequences are removed from consideration asfilter patterns in the new list of filter patterns. These patterns maybe disregarded, for example, by removing them from the compiled even orodd lists of detected useful patterns. In particular embodiments, thesepatterns may be placed in the compiled even or odd lists of detectedpatterns that are not useful.

At step 2150, the list of useful filter patterns is updated. Inparticular embodiments, after those patterns that appear only in one ofthe even sequence and the odd sequence have been removed from thecompiled lists of detected patterns, one or more (or all of the) usefulpatterns in the compiled lists of detected patterns may be added to ormay replace the list of useful filter patterns. Alternatively, the listmay already include the detected patterns and thus need not be modifiedto include the detected patterns. In either case, filter patterns thatare not useful may be deleted from the list of useful filter patterns.In particular embodiments, the compiled even or odd lists of detectedpatterns that are not useful may also be deleted. After updating thelist of useful filter patterns, the method returns to step 2110, wherethe new list of useful filter patterns is used.

FIG. 19 is a flowchart illustrating yet another example method 2200 forgenerating a list of useful filter patterns dynamically according to aparticular embodiment of the invention. Like methods 2000 and 2100,method 2200 may update a list of useful filter patterns to includeuseful patterns observed in incoming sequences and to remove patternsthat are no longer useful. Like method 2100, method 2200 may also createseparate dynamic lists for data sequences starting at the even bit andodd bit (i.e., an even list and an odd list), editing these lists suchthat neither even nor odd sequences dominates the adaptive control.Method 2200 may do so by counting the number of patterns in the evenlist and the number of patterns in the odd list, comparing the twonumbers, and removing patterns from the list with a greater number ofpatterns until the number of patterns in the even list equals the numberof patterns in the odd list. In this way, the effects of duty cycledistortion may be reduced. Also, method 2200 may be relatively lessdependent on the incoming data sequences.

Method 2200 begins at step 2210, where a new list of useful filterpatterns is used. In particular embodiments, the new list of usefulfilter patterns may be used in a balanced manner, as discussed below inconjunction with FIGS. 20 and 21. The new list of filter patterns mayalso be used in conjunction with timeout detection to skip undetectedfilter patterns after a period of time, as discussed further below inconjunction with FIG. 22.

At step 2220, data patterns in the even data sequence (that starts ateven bit and is followed by odd bit, even bit, odd bit and so on) anddata patterns in the odd data sequence (that starts at odd bit and isfollowed by even bit, odd bit, even bit and so on) are monitored, anduseful and not useful patterns in each data sequence are detected. Auseful pattern may include, for example, a data pattern that is observedfrequently in an incoming data sequence and that comprises at least onetransition between successive data values in the pattern. In particularembodiments, a data pattern may also only be useful if the transitionoccurs between certain two data values such as the last two data valuesin the pattern. A data pattern may also be useful, for example, if thedata pattern enhances the sensitivity of the controlled parameter on theboundary value. For example, a data pattern with the same data value 1.5bits before the boundary as the data value 2.5 bits before the boundarymay be useful to control the gain of the first-order derivativecomponent of the analog second-order derivative equalizer, whereas adata pattern with a different data value 1.5 bits before the boundarythan the data value 2.5 bits before the boundary may be useful tocontrol the gain of the second-order derivative component of the analogsecond-order derivative equalizer. Patterns that are not useful mayinclude those that are not observed or are rarely observed, that do notinclude at least one transition between successive data values in thepattern, or that reduce the sensitivity of the controlled parameter onthe boundary value. For example, a data pattern with a different datavalue 1.5 bits before the boundary than the data value 2.5 bits beforethe boundary may not be useful to control the gain of the first-orderderivative component of the analog second-order derivative equalizer,and a data pattern with the same data value 1.5 bits before the boundaryas the data value 2.5 bits before the boundary may not be useful tocontrol the gain of the second-order derivative component of the analogsecond-order derivative equalizer. The detected, useful patterns may becompiled in separate lists (an “even” list and an “odd” list) orotherwise stored for the even and odd sequences. In particularembodiments, patterns that are not useful may also be compiled inseparate lists for the even and odd data sequences or otherwise storedseparately.

At step 2230, a determination is made whether enough of the incomingeven and odd sequences has been monitored. If not enough of thesequences has been monitored, the method returns to step 2220. If enoughof the sequences has been monitored, the method proceeds to step 2240.Enough of the incoming sequences has been monitored, for example, aftera certain number or type of useful data patterns has been detected orafter a certain amount of time has passed.

At step 2240, the detected patterns in the even and odd lists arecompared, and the number of patterns appearing only in the even list andthe number of patterns appearing only in the odd list are counted. Atstep 2250, a determination is made whether the number of patternsappearing only in the even list is the same as the number of patternsappearing only in the odd list. If the numbers are different, the methodproceeds to step 2260. If the numbers are the same, the method proceedsto step 2270.

At step 2260, if the number of patterns appearing only in the even listis different than the number of patterns appearing only in the odd list,one of the patterns is removed from the list with the greater number ofpatterns. In particular embodiments, any suitable pattern may be removedin any suitable manner from the list with the greater number ofpatterns. For example, in particular embodiments, the pattern appearingmost frequently in either the even or odd data sequences may be removed.After removing the pattern from the list with the greater number ofpatterns, the method returns to step 2240, and the number of patternsappearing only in the even list and the number of patterns appearingonly in the odd list are counted and compared.

At step 2270, if the number of patterns appearing only in the even listis the same as the number of patterns appearing only in the odd list,the list of useful filter patterns is updated using, for example, theedited lists of detected patterns. In particular embodiments, one ormore (or all of the) useful patterns in the edited lists of detectedpatterns may be added to or may replace the list of useful filterpatterns. Alternatively, the list of useful filter patterns may alreadyinclude the detected patterns and thus need not be modified to includethe detected patterns. In either case, filter patterns that are notuseful may be deleted from the list of useful filter patterns. Inparticular embodiments, the compiled even or odd lists of detectedpatterns that are not useful may also be deleted. After updating thelist of useful filter patterns, the method returns to step 2210, wherethe new list of useful filter patterns is used.

Modifications, additions, or omissions may be made to the methodsdescribed without departing from the scope of the invention. Thecomponents of the methods described may be integrated or separatedaccording to particular needs. Moreover, the operations of the methodsdescribed may be performed by more, fewer, or other components.

As discussed above, a list of useful filter patterns may be fixed ordynamic. Filter patterns in either type of list may be used in abalanced manner by the equalizer control to reduce the negative effectsof duty cycle distortion. Using filter patterns in a balanced manner maygenerally refer to using each filter pattern in a list of filterpatterns equally or giving each filter pattern in the list equal weightor probability of selection.

FIG. 20 is a flowchart illustrating an example method 2300 for usingfilter patterns in a balanced manner according to a particularembodiment of the invention. Method 2300 begins at step 2310, where afilter pattern is selected from a list of useful filter patterns. Thelist of useful filter patterns may be fixed or dynamic. Filter patternsmay be selected from the list of useful filter patterns in any suitablemanner. In particular embodiments, filter patterns may be selectedsequentially from the list. In alternative embodiments, filter patternsmay be selected randomly at equal probability from the list. It shouldbe noted that filter patterns may include, for example, six-bitpatterns, and may have a transition between particular two bits such asthe last two bits.

At step 2320, an incoming signal's data sequence(s) may be monitored forthe selected filter pattern. At step 2330, if the selected filterpattern is not detected, the incoming signal's data sequence(s) maycontinue to be monitored. If the selected filter pattern is detected,the method proceeds to step 2340.

At step 2340, an appropriate control action is taken to controlequalizer parameters. In particular embodiments, the detected pattern'sdata and boundary value information may be analyzed and an appropriatecontrol action may be taken as discussed above. Example methods forinterpreting output signal values are discussed above in conjunctionwith FIGS. 5, 7, and 9. After analyzing the output signal values, theequalizer may apply a suitable control action to the signal. In anotherembodiment of the invention, the adaptive control action taken at step2340 may be any suitable adaptive control action in various conventionaladaptive control algorithms. For instance, the adaptive control actionat step 2340 may be based on conventional adaptive control algorithms,such as the Least-Mean-Square (LMS) algorithm, theSign-Sign-Least-Mean-Square (SS-LMS) algorithm, the Zero-Forcing (ZF)algorithm, and so on. These conventional adaptive control algorithmsgenerally require that the incoming data be well randomized, and mayproduce an unacceptable result if the incoming data is a (quasi-)periodic data. In particular embodiments, balanced application ofadaptive control actions using filter patterns enables theseconventional adaptive control algorithms to provide consistentadaptation results among various (quasi-) periodic and well randomizeddata sequences. Since these conventional adaptive control algorithms donot necessarily require a data transition to take an adaptive controlaction, a filter pattern need not include a data transition inparticular embodiments. After a control action is applied, the methodreturns to step 2310, where a new filter pattern is selected. In thisway, filter patterns are used in a balanced manner, reducing thenegative effects of duty cycle distortion and providing consistentadaptation results among various (quasi-) periodic and well randomizeddata sequences.

FIG. 21 is a flowchart illustrating another example method 2400 forusing filter patterns in a balanced manner according to a particularembodiment of the invention. In method 2400, the filter patterns in alist are monitored for simultaneously, those filter patterns that havebeen detected and for which an adaptive action has been taken areflagged or otherwise identified and are no longer monitored for, and theflags are cleared when all the filter patterns have been detected. Inthis way, filter patterns are used in a balanced manner, reducing thenegative effects of duty cycle distortion.

Method 2400 begins at step 2410. At step 2410, every flag is clearedsuch that none of the patterns are flagged. The absence of a flagassociated with a pattern indicates that the incoming data sequence(s)may be monitored for the pattern (because the pattern has not yet beendetected). A flag indicates that the incoming data sequence(s) may nolonger be monitored for the flag's corresponding pattern (because thepattern has already been detected). It should be noted that althoughflags are used in this embodiment, in alternative embodiments, anysuitable technique for indicating when a pattern has been detected maybe implemented. It should further be noted that the list of usefulfilter patterns may be fixed or dynamic.

At step 2420, the incoming data sequence(s) are monitored for thosefilter pattern(s) that have not yet been flagged. Thus, immediatelyafter all flags are cleared, the incoming data sequence(s) are monitoredfor all of the filter patterns in the list of useful filter patterns. Inparticular embodiments, all of the unflagged filter patterns may bemonitored for simultaneously. As filter patterns are detected, actedupon, and flagged, the incoming data sequence(s) are monitored for fewerfilter patterns (the unflagged ones).

At step 2430, a determination is made whether any of the monitored forfilter patterns have been detected in the incoming data sequence(s). Ifnone of the filter patterns have been detected, the incoming datasequence(s) may continue to be monitored for the filter patterns, andeach filter pattern's corresponding flag remains unchecked. If one ofthe filter patterns has been detected, the method proceeds to step 2440.

At step 2440, an appropriate control action is taken to controlequalizer parameters. In particular embodiments, the detected pattern'sdata and boundary value information may be analyzed, and a controlaction may be taken. Example methods for interpreting output signalvalues are discussed above in conjunction with FIGS. 5, 7, and 9. Afteranalyzing the output signal values, the equalizer may apply a suitablecontrol action to the signal. In alternative embodiments, the adaptivecontrol action taken at step 2440 may be any suitable adaptive controlaction in various conventional adaptive control algorithms. For example,the adaptive control action at step 2440 may be based on theLeast-Mean-Square (LMS) algorithm, the Sign-Sign-Least-Mean-Square(SS-LMS) algorithm, or the Zero-Forcing (ZF) algorithm. Theseconventional adaptive control algorithms generally require that theincoming data be well randomized, and may not produce a good result ifthe incoming data is a (quasi-) periodic data. Balanced application ofadaptive control actions using filter patterns may enable theseconventional adaptive control algorithms to provide consistentadaptation results among various (quasi-) periodic and well randomizeddata sequences. After the filter pattern is detected (and optionallyafter the control action is taken), the detected filter pattern isflagged.

At step 2450, a determination is made whether all of the filter patternsin the list of useful filter patterns have been flagged. If not, themethod returns to step 2420, and the incoming data sequence(s) aremonitored for those filter pattern(s) that have not yet been flagged. Ifall of the filter patterns in the list of useful filter patterns havebeen flagged, then the method proceeds to step 2410, where all of theflags are cleared. In this way, filter patterns are used in a balancedmanner, reducing the negative effects of duty cycle distortion andproviding consistent adaptation results among various (quasi-) periodicand well-randomized data sequences.

Modifications, additions, or omissions may be made to the methodsdescribed without departing from the scope of the invention. Thecomponents of the methods described may be integrated or separatedaccording to particular needs. Moreover, the operations of the methodsdescribed may be performed by more, fewer, or other components.

As discussed above, filter patterns may be used in a balanced manner toreduce the negative effects of duty cycle distortion and provideconsistent adaptation results among various (quasi-) periodic and wellrandomized data sequences, and example methods for using filter patternsin a balanced manner are discussed in conjunction with FIGS. 20 and 21.However, when making a determination about whether a filter pattern hasbeen detected in step 2330 of method 2300 or in step 2430 of method2400, the methods may stall if, for example, a desired filter pattern isnot detected. In other words, no further adaptive actions may be takenif a particular filter pattern is not detected. Having the adaptivecontrol freeze in this manner may not be disadvantageous in, forexample, the short-term because channel characteristics may not belikely to change. However, even in the short-term and especially in thelong-term, forcing the method to skip an undetected filter pattern aftera certain period of time may allow the equalizer to more quickly adaptto changing conditions. By allowing more frequent adaptive controlactions, skipping undetected filter patterns may prevent the adaptivecontrol from stalling when channel characteristics change.

FIG. 22 is a flowchart illustrating an example method 2500 for skippingan undetected filter pattern after a period of time according to aparticular embodiment of the invention. In method 2500, a timeout may bedetected after a certain period of time during which a filter pattern isnot detected in an incoming data sequence(s). After the timeout isdetected, the filter pattern may be skipped (e.g., in step 2330 ofmethod 2300) or flagged (e.g., in step 2430 of method 2400 above).

It should be noted that timeout detection may be used in conjunctionwith fixed or dynamic lists of useful filter patterns. However, timeoutdetection may occur less when using a dynamic list than when using afixed list because filter patterns in a dynamic list are updated basedon their frequency in the incoming sequence. In other words, iffrequently observed patterns in an incoming sequence are being includedin the list of useful filter patterns and infrequently observed patternsare being removed, there is less of a chance that a timeout will bedetected. Method 2500 may nonetheless be used in conjunction with adynamic list to compensate for any delay in updating the dynamic listafter a change in the incoming sequence.

Method 2500 begins at step 2510, where a timer is reset. In conjunctionwith method 2300, the timer may be reset after the next filter patternis selected at step 2310. In conjunction with method 2400, the timer maybe reset, for example, after all flags are initially cleared at step2410 and/or after detection of a filter pattern at step 2430. The timermay set the period of time after which the filter pattern (or filterpatterns in method 2400) is to be skipped. The period of time set by thetimer may include any suitable period of time.

At step 2520, a determination is made whether a filter pattern has beendetected in an incoming data sequence(s). If the filter pattern has beendetected, the method returns to step 2510 and the timer is reset. If thefilter pattern has not been detected, the method proceeds to step 2530.

At step 2530, a determination is made whether a timeout has occurred. Atimeout refers to the running out of time set by the timer. If a timeouthas not occurred, the method returns to step 2520. If a timeout hasoccurred, the method proceeds to step 2540.

After a timeout occurs, the undetected filter pattern(s) is skipped atstep 2540. In conjunction with method 2300, the filter pattern isskipped and the next filter pattern is selected at step 2310. Inconjunction with method 2400, all of the remaining unflagged filterpatterns are skipped (e.g., they may all be flagged) and all flags arecleared at step 2410 so that the process can be restarted. In particularembodiments, any skipped pattern(s) may be removed from the list ofuseful filter patterns (to prevent the skipped pattern(s) from stallingthe adaptive equalizer again). Method 2500 then returns to step 2510,where the timer is reset. In this way, an undetected filter pattern maybe skipped, and adaptive control actions may be taken more frequently,preventing the adaptive control from stalling for undetected filterpatterns.

On the other hand, in particular embodiments, not implementing thedetection of timeout may be more advantageous with respect to theconsistency of adaptive control results among various (quasi-) periodicor well randomized data because detection of timeout may compromise onsome inconsistency of adaptive control results by skipping undetectedfilter patterns, whereas not implementing timeout may not compromise onany inconsistency of adaptive control results by insisting on all filterpatterns, even if it stalls. In particular embodiments, stalling may notbe a problem or may even be the most favorable scheme for certain datasequences such as a continuous 0101 data sequence because such a highlyperiodic data sequence lacks for spectrum in the frequency domain andmay not include enough information for the adaptive control. If theadaptive control does not stall for a highly periodic data sequence suchas continuous 0101, the control parameters may drift to bad values.Therefore, in particular embodiments, stalling may be the most favorablescheme for such a highly periodic data sequence. Not implementing thedetection of timeout may allow for stalling for such a highly periodicdata sequence.

Modifications, additions, or omissions may be made to the systems andmethods described without departing from the scope of the invention. Thecomponents of the systems and methods described may be integrated orseparated according to particular needs. Moreover, the operations of thesystems and methods described may be performed by more, fewer, or othercomponents.

Much of the discussion above has focused on a type of signal distortionknown as residual inter-symbol interference. Another type of signaldistortion arising in electrical communication is residual DC offset ina signal. Residual DC offset, if not cancelled (i.e., compensated), canreduce input sensitivity at a receiver. Thus, it is beneficial to cancelresidual DC offset at a receiver. Canceling residual DC offset may beespecially beneficial if the receiver has an analog front end circuitsuch as an equalizer or a limiting amplifier before its decision circuitbecause these components can add offset to the signal.

Referring back to FIGS. 1-3, a signal transmitted over communicationchannel 30 may experience DC offset distortion in addition tointer-symbol interference, and DC offset distortion may be furtherenhanced at receiver equalizer 42. Receiver equalizer 42 may apply a DCoffset compensation (i.e., correction) to the received input signal tocancel the DC offset exhibited by the signal. Receiver logic 47 may thenanalyze the adjusted output signal for residual DC offset. Specifically,sampler 104 may receive equalizer output signal 46 (the adjusted inputsignal) and a clock signal. Sampler 104 may then sample the outputsignal at particular points determined by the clock signal to generatedata values and boundary values. Sampler 104 may forward these data andboundary values to offset controller 106 for suitable analysis (asdescribed below). Based on this analysis, offset controller 106 ofreceiver logic 47 and equalizer 42 may correct for the DC offsetdistortion in the incoming input signal.

FIGS. 23A, 23B, and 23C illustrate examples of a clock signal incomparison with an equalizer output signal 46 exhibiting types ofresidual DC offset. In particular embodiments, sampler 104 may receiveequalizer output signals 46 such as those illustrated in these figuresand sample the equalizer output signal 46 according to a 2×over-sampling clock and data recovery (CDR) scheme. In such a scheme,sampler 104 may sample the equalizer output signal 46 two times per databit period, which may be defined by the clock signal. For one data bitperiod, sampler 104 may, for example, sample the equalizer output signal46 once at a point in the equalizer output signal 46 that shouldcorrespond to a data value and once at a point in the equalizer outputsignal 46 that should correspond to a boundary value. Sampler 104 maythen forward these data and boundary values to offset controller 106.Based on an analysis of particular data and boundary values, asdescribed further below, offset controller 106 may adjust the DC offsetcompensation applied to the signal received by equalizer 42. It shouldbe noted that, in particular embodiments, the same data and boundaryvalue information forwarded to offset controller 106 may also beforwarded to adaptive controller 102, described above, and used inconjunction with adaptive gain control.

FIG. 23A illustrates an example 2600 of a clock signal in comparisonwith an equalizer output signal 46 exhibiting no residual DC offset.Example 2600 is similar to example 200 described above in conjunctionwith FIG. 4A and thus will not be described again in detail. However, itshould be noted that in a signal exhibiting no residual DC offset, suchas in example 2600, each boundary value between two successive datavalues comprising a transition (e.g., boundary values at E2, E3, and E4)randomly comprises either a high or a low value (illustrated as “X”), asdiscussed above. For such a signal, offset controller 106 may adjust theDC offset compensation applied to the input signal up or down randomly,as DC offset distortion is already being fully compensated or does notexist. If the numbers of up adjustments and down adjustments aresubstantially equal, the DC offset compensation applied to the inputsignal remains on average at the same level. If the numbers of upadjustments and down adjustments are not substantially equal, the DCoffset compensation applied to the input signal may drift slightly fromthe initial level. Such drift of the DC offset compensation level mayproduce slight DC offset distortion. The equalizer receiver may detectthis distortion and correct the DC offset compensation back to theaverage initial level, as illustrated below.

FIG. 23B illustrates an example 2650 of a clock signal in comparisonwith an equalizer output signal 46 exhibiting positive residual DCoffset. An equalizer output signal 46 exhibiting positive residual DCoffset has drifted upwardly (as in the example figure) relative to asignal exhibiting no residual DC offset. Also, the value of the boundaryvalues before (e.g., E2) and after (e.g., E3) a high pulse (e.g., thepulse at D3) will likely be the same as the data value at the pulse(e.g., D3). The value of the boundary values before and after a lowpulse will likely be different than (opposite to) the data value at thepulse. Thus, as described further below, upon analyzing particular datavalues and boundary value(s), offset controller 106 may decrease the DCoffset compensation applied to the input signal to cancel the positiveresidual DC offset. It should be noted that in particular embodimentsand as described below, offset controller 106 may not be able to cancelpositive residual DC offset exhibited by the output signal until atransition (e.g., between D2 and D3) occurs.

FIG. 23C illustrates an example 2700 of a clock signal in comparisonwith an equalizer output signal 46 exhibiting negative residual DCoffset. An equalizer output signal 46 exhibiting negative residual DCoffset has drifted downwardly (as in the example figure) relative to asignal exhibiting no residual DC offset. Also, the value of the boundaryvalues before (e.g., E2) and after (e.g., E3) a high pulse (e.g., thepulse at D3) will likely be different than (opposite to) the data valueat the pulse. The value of the boundary values before and after a lowpulse will likely be the same as the data value at the pulse. Thus, asdescribed further below, upon analyzing particular data values andboundary value(s), offset controller 106 may increase the DC offsetcompensation applied to the input signal to cancel the negative residualDC offset. It should be noted that in particular embodiments and asdescribed below, offset controller 106 may not be able to cancelnegative residual DC offset exhibited by the output signal until atransition (e.g., between D2 and D3) occurs.

FIG. 24 is a flowchart illustrating a method 2800 for interpretingoutput signal values to cancel residual DC offset according to aparticular embodiment of the invention. Method 2800 begins at step 2810,where an output signal 46 is sampled using a clock signal. The outputsignal 46 may be the output of an equalizer, and the output signal maybe sampled according to a clock signal, as described above inconjunction with FIG. 3.

In particular embodiments, the output signal may be sampled at referencedata points and boundary points determined by the clock signal.Alternatively, the output signal may not be sampled at boundary points,and boundary values corresponding to these non-sampled points may bederived. In particular embodiments, offset controller 106 may deriveboundary values from sampled data values and other phase information(e.g., whether the phase of the output signal is early or late). Forexample, if the phase of the output signal is early, offset controller106 may determine that the high or low value of the boundary value isthe same as the high or low value of the data value immediatelypreceding the boundary value. If the phase of the output signal is late,offset controller 106 may determine that the high or low value of theboundary value is the same as the high or low value of the data valueimmediately after the boundary value.

At step 2820, after the output signal is sampled, the sampled datavalues may be analyzed to determine if a transition has occurred in thevalues. At step 2830, if a transition is not detected, the methodreturns to step 2820. If a transition is detected between successivedata values, the method proceeds to step 2840. It should be noted that,in particular embodiments, a transition may be detected by comparing thereceived data values to each other directly. In alternative embodiments,a transition may be detected by comparing the received data values andboundary values to pre-defined value patterns that comprise a transition(and that correspond to particular offset cancellation actions). Itshould further be noted that, in particular embodiments, an offsetcancellation action may take place after detecting only one transition.

If a transition is detected, at step 2840, the value (high or low) ofthe boundary value between the data values comprising the transition isidentified. At step 2850, if the boundary value is high, the methodproceeds to step 2860, and a negative offset cancellation action istaken to adjust the signal downwardly (because the residual DC offset ispositive). If the boundary value is low, the method proceeds to step2870, and a positive offset cancellation action is taken to adjust thesignal upwardly (because the residual DC offset is negative). Inparticular embodiments, the boundary value may be identified and anoffset cancellation action may be taken by comparing the boundary valueto a pre-defined pattern (that corresponds to a particular offsetcancellation action).

It should be noted that, in particular embodiments, steps 2820-2870 maybe performed by offset controller 106, and DC offset cancellationactions may be applied using, for example, variable gain amplifiers 116.Also, in particular embodiments, if DC offset compensation is applied tomore than one signal path (e.g., to paths 101 in example equalizer 42),the applied DC offset compensation may be adjusted in one path and fixedfor the other paths. In alternative embodiments, an independent controlvariable may be mapped to the plurality of paths using a particularfunction, and DC offset compensation may be applied to the pathsaccording to the mapping. Alternatively, DC offset compensation may beadjusted independently for each path, as discussed further below inconjunction with FIGS. 30-40.

FIG. 25 is a table illustrating an example DC offset control scheme 2900associated with the method 2800 of FIG. 24. Each row 2902 corresponds toa particular pattern of values for which a particular offset cancelleraction is performed. Column 2910 includes a high or low value (“1” or“0”) for each of a series of sampled data and boundary values. Column“D1” includes a first sampled data value of an output signal, column“D2” includes a second sampled data value of the output signal, andcolumn “E1” includes the boundary value between the first and seconddata values. These values are similar to those illustrated in FIGS.23A-23C. As can be observed, a transition occurs between data values incolumns “D1” and “D2 ” in each pattern.

It should be noted that the pattern of values in each row 2902 may besampled by sampler 104 and sent to offset controller 106. Alternatively,offset controller 106 may receive only sampled data values and otherphase information, and particular boundary values (including, forexample, boundary values in column E1) may be derived from the datavalues and phase information (and may not be sampled by sampler 104).

Column 2912 includes alternative boundary values at column “E1” for eachrow 2902. Column 2914 includes, for particular patterns, particularresidual DC offset levels. Column 2916 includes, for particularpatterns, particular actions to the offset cancellation setting tocompensate for the particular residual DC offset levels. The actions tothe offset cancellation setting may be applied as discussed above inmethod 2800.

It should be noted that, in particular embodiments, offset controller106 may receive a stream of sampled values and select appropriate onesof these values (e.g., the boundary value between two data valuescomprising a transition). Offset controller 106 may then apply asuitable offset cancellation action based on the boundary value.Alternatively, offset controller 106 may compare the sampled values topre-defined patterns of values (that correspond to particular offsetcancellation actions). Based on the particular pre-defined pattern ofvalues to which the sampled values corresponds, offset controller 106may apply the corresponding offset cancellation action.

Modifications, additions, or omissions may be made to the systems andmethods described without departing from the scope of the invention. Thecomponents of the systems and methods described may be integrated orseparated according to particular needs. Moreover, the operations of thesystems and methods described may be performed by more, fewer, or othercomponents.

One challenge arising from using output signal values to assess residualDC offset is the false-locking problem. The false-locking problem occurswhen a clock signal and an offset canceller interact improperly,producing a false-locking state. The false-locking state may arise, forexample, if the initial residual offset is as high as the input signalamplitude. In the false-locking state, the sampling phases for theboundary and data values are interchanged. The offset is also largelyshifted from the real center, locking the boundary sampling at the crosspoint above or below the real eye opening. The false-locking problemdistorts the assessment of residual DC offset using output signalvalues.

FIG. 26 is a flowchart illustrating a method 3000 for correcting forfalse locking in canceling residual DC offset according to a particularembodiment of the invention. Method 3000 corrects for the false lockingproblem by adjusting DC offset compensation based on the value (high orlow) of each boundary value. Thus, unlike in method 2800, DC offsetcompensation may be adjusted based on boundary values that are betweendata values having the same value (in addition to those that are betweendata values comprising a transition). As a result, transitions need notbe identified in method 3000 before adjusting the DC offsetcompensation. By adjusting the DC offset compensation in this manner,method 3000 may nudge a signal that is in a false-locking state out ofthe false-locking state. It should be noted that method 3000 may besimilar to method 2800 of FIG. 24, described above, excluding steps 2820and 2830.

Method 3000 begins at step 3010, where an output signal is sampled usinga clock signal. The output signal may be the output of an equalizer, andthe output signal may be sampled according to a clock signal, asdescribed above in conjunction with FIG. 3. In particular embodiments,the output signal may be sampled at reference data points and boundarypoints determined by the clock signal. Alternatively, the output signalmay not be sampled at boundary points, and boundary values correspondingto these non-sampled points may be derived. It should be noted that, atthis point, the signal may be in a false-locking state.

After the output signal is sampled, at step 3020, the values (high orlow) of the boundary values are identified. At step 3030, if a boundaryvalue is high, the method proceeds to step 3040, and a negative offsetcancellation action is taken to adjust the signal downwardly. If aboundary value is low, the method proceeds to step 3050, and a positiveoffset cancellation action is taken to adjust the signal upwardly. Inparticular embodiments, the boundary value may be identified and anoffset cancellation action may be taken by comparing the boundary valueto a pre-defined pattern (that corresponds to a particular offsetcancellation action).

By taking offset cancellation actions based on any boundary value (i.e.,regardless of whether a transition has been identified), a signal in afalse-locking state may be nudged out of the false-locking state. Inaddition, since some of the boundary values used may arise betweensuccessive data values comprising a transition, offset adjustments mayalso cancel residual DC offset.

FIG. 27 is a table 3100 illustrating an example offset control schemeassociated with the method 3000 of FIG. 26. Each row 3102 corresponds toa particular pattern of values for which a particular offset cancelleraction is performed. Column 3110 includes a high or low value (“1” or“0”) for each of a series of sampled data and boundary values. Column“D1” includes a first sampled data value of an output signal, column“D2” includes a second sampled data value of the output signal, andcolumn “E1” includes the boundary value between the first and seconddata values. These values are similar to those illustrated in FIGS.23A-23C. As can be observed, a transition does not necessarily occurbetween data values in columns “D1” and “D2” in each pattern.

It should be noted that the pattern of values in each row 3102 may besampled by sampler 104 and sent to offset controller 106. Alternatively,offset controller 106 may receive only sampled data values and otherphase information, and particular boundary values (including, forexample, boundary values in column E1) may be derived from the datavalues and phase information (and may not be sampled by sampler 104).

Column 3112 includes alternative boundary values at column “E1” for eachrow 3102. Column 3114 includes, for particular patterns, particularresidual DC offset levels. Column 3116 includes, for particularpatterns, particular actions to the offset cancellation setting. Theactions to the offset cancellation setting may be applied as discussedabove in method 3000.

It should be noted that particular boundary values in column 3112 areplaced in parentheses. Boundary values in parentheses are those with ahigh or low value different than the high or low value of the two datavalues immediately around the boundary value. Such a case may beatypical in particular embodiments. Nonetheless, offset cancelleractions may be taken based on the high or low value of the boundaryvalue in particular embodiments.

Method 3000 may provide an effective solution to the false-lockingproblem, especially when applied to random signals or where re-sampling(sampling at a lower rate than the data rate) is not used. If, however,the incoming signal is a (quasi-) periodic signal and re-sampling isused, method 3000 may not prevent systematic residual offset fromarising in the signal in certain circumstances. This may be so if, forexample, the cycle of the re-sampling locks to the cycle of the periodicsignal. Thus, an offset canceller that can correct for the false lockingproblem and adjust residual DC offset suitably in a (quasi-) periodicsignal where re-sampling is used may be useful in particularcircumstances.

FIG. 28 is a flowchart illustrating another method 3200 for correctingfor false locking in canceling residual DC offset according to aparticular embodiment of the invention. Method 3200 corrects for thefalse locking problem in periodic signals by first monitoring for dataDC imbalance (a proxy for the false locking problem) using output signalvalues. If an imbalance is detected, DC offset compensation is adjustedbased on the detected imbalance. If an imbalance is not detected, DCoffset compensation is adjusted based on the values (high or low) ofonly those boundary values between successive data values that comprisetransitions (similarly to method 2800, described above). Using method3200, data DC imbalance may be controlled to be within an acceptablerange, even when re-sampling is used to sample a (quasi-) periodic datasignal.

Method 3200 begins at step 3210, where an output signal is sampled usinga clock signal. The output signal may be the output of an equalizer, andthe output signal may be sampled according to a clock signal, asdescribed above in conjunction with FIG. 3. In particular embodiments,the output signal may be sampled at reference data points and boundarypoints determined by the clock signal. Alternatively, the output signalmay not be sampled at boundary points, and boundary values correspondingto these non-sampled points may be derived. In particular embodiments,offset controller 106 may derive boundary values from sampled datavalues and other phase information (e.g., whether the phase is early orlate).

At step 3220, as the output signal is sampled, the number of low datavalues (i.e., “0”) and the number of high data values (i.e., “1”) arecounted, and this count is updated as the signal is sampled. Inparticular embodiments, the number of data values in each count (low andhigh) may include only a certain number of previous data valuesobserved. In alternative embodiments, the number of data values in eachcount may include only those previous data values observed during acertain period of time. Any suitable counter(s) may store the number ofhigh data values and the number of low data values observed, and thiscounter(s) may be updated based on the high or low values of incomingdata values.

At step 3230, the count of the high data values is compared to the countof the low data values, and a determination is made whether one type ofdata value is observed much more frequently than the other (to determinewhether the signal is in a false-locking state). If one type of datavalue is observed much more frequently than the other (as an exampleonly, greater than three times more frequently), method 3200 proceeds tostep 3240. If neither type of data value is observed much morefrequently than the other data value, method 3200 proceeds to step 3270.In particular embodiments, the difference between the numbers of eachtype of data value or the ratio of the numbers of each type of datavalue may be compared to a pre-determined number or ratio, respectively.

At step 3240, a determination is made whether high data values have beenobserved much more frequently than low data values. If high data valueshave been observed much more frequently than low data values, method3200 proceeds to step 3250, and a negative offset cancellation action istaken to adjust the signal downwardly. If low data values have beenobserved much more frequently than high data values, method 3200proceeds to step 3260, and a positive offset cancellation action istaken to adjust the signal upwardly. By adjusting the DC offsetcompensation applied in this manner, a signal in a false-locking statemay be nudged out of the false-locking state.

It should be noted that, although method 3200 monitors for data DCimbalance by counting and comparing output data values, in alternativeembodiments, output data values and/or boundary values may be countedand compared in a similar manner to monitor for data DC imbalance. Thecounts of data values and/or boundary values may also be analyzed in asimilar manner to adjust the offset compensation applied to the inputdata signal.

If, at step 3230, neither type of data value is observed much morefrequently than the other data value, method 3200 proceeds to step 3270.At step 3270, the sampled data values may be analyzed to determine if atransition has occurred in the values. At step 3280, if a transition isnot detected, the method returns to step 3210, and the output signal issampled. If a transition is detected between successive data values, themethod proceeds to step 3290. It should be noted that, in particularembodiments, a transition may be detected by comparing the received datavalues to each other directly. In alternative embodiments, a transitionmay be detected by comparing the received data values and boundaryvalues to pre-defined value patterns that comprise a transition (andthat correspond to particular offset cancellation actions). It shouldfurther be noted that, in particular embodiments, an offset cancellationaction may take place after detecting only one transition.

If a transition is detected, at step 3290, the value (high or low) ofthe boundary value between the data values comprising the transition isidentified. At step 3300, if the boundary value is high, the methodproceeds to step 3250, and a negative offset cancellation action istaken to adjust the signal downwardly (because the residual DC offset ispositive). If the boundary value is low, the method proceeds to step3260, and a positive offset cancellation action is taken to adjust thesignal upwardly (because the residual DC offset is negative). Inparticular embodiments, the boundary value may be identified and anoffset cancellation action may be taken by comparing the boundary valueto a pre-defined pattern (that corresponds to a particular offsetcancellation action). Method 3200 then returns to steps 3210 and 3220 tosample the output signal and update the number of low and high datavalues counted.

It should be noted that, in particular embodiments, steps 3220-3300 maybe performed by offset controller 106, and DC offset cancellationactions may be applied using, for example, variable gain amplifiers 116.Also, in particular embodiments, if DC offset compensation is applied tomore than one signal path (e.g., to paths 101 in example equalizer 42),the applied DC offset compensation may be adjusted in one path and fixedfor the other paths. In alternative embodiments, an independent controlvariable may be mapped to the plurality of paths using a particularfunction, and DC offset compensation may be applied to the pathsaccording to the mapping. Alternatively, DC offset compensation may beadjusted independently for each path, as discussed further below inconjunction with FIGS. 30-40.

As can be observed, method 3200 bifurcates the manner in which DC offsetcompensation is adjusted based on the relative frequency that particulardata values are observed. If one type of data value is observed muchmore frequently than the other type, method 3200 corrects for thisimbalance, which presumably arises due to false-locking. If neither typeof data value is observed much more frequently than the other type,method 3200 assumes that the signal is not in a false-locking state andanalyzes only those boundary values between successive data valuescomprising a transition to correct for residual DC offset. In thismanner, method 3200 may cause any data DC imbalance to remain in anacceptable range. In particular embodiments, data DC imbalance mayremain in an acceptable range even when the incoming signal is a(quasi-) periodic signal and re-sampling is used.

FIG. 29 is a table 3400 illustrating an example offset control schemeassociated with the method 3200 of FIG. 28. Each row 3402 corresponds toa particular pattern of values for which a particular offset cancelleraction is performed. Column 3410 includes a high or low value (“1” or“0”) for each of a series of sampled data and boundary values. Column“D1” includes a first sampled data value of an output signal, column“D2” includes a second sampled data value of the output signal, andcolumn “E1” includes the boundary value between the first and seconddata values. These values are similar to those illustrated in FIGS.23A-23C. As can be observed, a transition need not occur between datavalues in columns “D1” and “D2” in each pattern.

It should be noted that the pattern of values in each row 3402 may besampled by sampler 104 and sent to offset controller 106. Alternatively,offset controller 106 may receive only sampled data values and otherphase information, and particular boundary values (including, forexample, boundary values in column E1) may be derived from the datavalues and phase information (and may not be sampled by sampler 104).

Column 3412 includes alternative transition boundary values at column“E1” for rows 3402 a and 3402 b. For rows 3402 c and 3402 d, “X”'s areincluded in column 3412 because, for successive data values having thesame value, boundary values are not considered when taking an offsetcanceller action. Instead, only the relative frequencies of high or lowdata values are considered, as described above in method 3200. Column3414 includes, for particular patterns, particular residual DC offsetlevels. Column 3416 includes, for particular patterns, particularactions to the offset cancellation setting. The actions to the offsetcancellation setting may be applied as discussed above in method 3200.

Modifications, additions, or omissions may be made to the systems andmethods described without departing from the scope of the invention. Thecomponents of the systems and methods described may be integrated orseparated according to particular needs. Moreover, the operations of thesystems and methods described may be performed by more, fewer, or othercomponents.

In particular embodiments, an equalizer, such as equalizer 42 of FIG. 3,may apply DC offset cancellation actions to more than one signal path,such as, for example, the unmodified (DC), first-order, and second-ordercomponents of a signal. Examples of equalizers that may apply DC offsetcancellation actions to more than one signal path include second-orderderivative equalizers. In some equalizers, DC offset cancellationactions may be applied to the multiple signal paths in a set manner.Applying DC offset cancellation actions in a set manner includesadjusting DC offset compensation in one path and fixing DC offsetcompensation for the other paths. Alternatively, applying DC offsetcancellation actions in a set manner includes mapping an independentcontrol variable to the plurality of paths using a particular functionand adjusting DC offset compensation in the paths according to themapping.

Applying DC offset cancellation actions to multiple signal paths in aset manner may be disadvantageous in particular circumstances. Forexample, if the multiple signal paths have residual DC offsets inopposite directions (i.e., such that they cancel each other out whencombined at combiner 118), the equalizer may not correct for residual DCoffset in each signal path, and the DC offset may saturate the signalcomponent in one or more of the paths. Allowing residual DC offset topersist in one or more signal paths may degrade the performance of theequalizer, limiting, for example, the range of linear operation of theequalizer circuit.

FIG. 30 illustrates examples 3500 of a DC path output 3510 exhibitingnegative residual DC offset, a first-order derivative path output 3520exhibiting positive residual DC offset, and an equalizer output signal3530 exhibiting mostly zero residual DC offset of an example first-orderderivative equalizer in comparison with a clock signal. It should benoted that, although DC path output 3510 and first-order derivative pathoutput 3520 are illustrated in comparison with a clock signal, areceiver may not individually monitor outputs 3510 and 3520 or sampleoutputs 3510 and 3520 using a clock signal. In the illustrated example,equalizer output 3530 is the sum of the DC path output 3510 and thefirst-order derivative path output 3520. As can be observed, althoughequalizer output 3530 exhibits mostly zero overall DC offset, DC pathoutput 3510 is saturated and exhibits negative offset, and first-orderderivative path output 3520 exhibits positive offset. Thus, an equalizerthat applies DC offset cancellation actions in a set manner to the pathsmay not correct for residual offset in the individual paths, and theresidual offset may degrade equalizer performance. Thus, an equalizerthat can cancel residual offset in each of a signal's constituent pathsis advantageous in particular circumstances.

It should be noted that the equalizer output 3530 may exhibit mostlycancelled overall offset at the boundary E3 and the boundary E4, but itmay exhibit slightly positive offset at the boundary E2, that is in thesame polarity as the offset of the first-order derivative path output3520. This may be caused by saturation of the DC path output 3510. Inother words, if the DC path output 3510 and the first-order derivativepath output 3520 have residual offset in the same magnitude in theopposite polarities, they may be completely cancelled with each other atthe equalizer output 3530 at boundaries after multiple consecutivetransitions, such as at E3 and E4, because the DC path output 3510 maynot be saturated after multiple consecutive transitions. On the otherhand, even if the DC path output 3510 and the first-order derivativepath output 3520 have residual DC offset in the same magnitude in theopposite polarities, they may not be completely cancelled with eachother at the equalizer output 3530 at boundaries after several data bitsof the same value, such as at E2, and the equalizer output 3530 may tendto have the same polarity offset as the first-order derivative pathoutput 3520, because the DC path output 3510 may have slightly smallermagnitude of offset than the first-order derivative path output 3520 dueto the effect of saturation of the DC path output 3510 which may haveoccurred after the continuous data bits of the same value. In this way,the residual offset in an individual path such as the first-orderderivative path output 3520 may be detected from the overall equalizeroutput 3530 by selecting the boundary value according to the datapattern preceding the boundary.

FIG. 31 is a flowchart illustrating an example method 3600 for cancelingresidual DC offset in a first-order derivative analog equalizeraccording to a particular embodiment of the invention. Method 3600 maycancel residual DC offset in the unmodified DC path and in thefirst-order derivative path of the first-order derivative equalizer byapplying offset cancellation actions to one or both of the paths inparticular circumstances.

For example, offset cancellation actions may be applied only to thefirst-order derivative path when successive data values having the samehigh or low value are observed before a transition. Successive datavalues having the same value may suggest that the DC path is saturated(assuming that the overall offset of the signal is substantiallycancelled). Thus, the value (high or low) of the boundary value betweenthe data values comprising the transition likely corresponds to theresidual DC offset in the first-order derivative path. Offsetcancellation actions may be applied to both the first-order derivativeand DC paths when successive data values having different high or lowvalues are observed before a transition. By applying offset cancellationactions in such a manner, even if the unmodified DC and first-orderderivative paths exhibit residual offsets in opposite directions, method3600 may correct for residual offset in each signal path.

Method 3600 begins at step 3610, where an output signal is sampled usinga clock signal. The output signal may be the output of an equalizer, andthe output signal may be sampled according to a clock signal, asdescribed above in conjunction with FIG. 3. In particular embodiments,the output signal may be sampled at reference data points and boundarypoints determined by the clock signal. Alternatively, the output signalmay not be sampled at boundary points, and boundary values correspondingto these non-sampled points may be derived. In particular embodiments,offset controller 106 may derive boundary values from sampled datavalues and other phase information (i.e., whether the phase of theoutput signal is early or late).

At step 3620, after the output signal is sampled, the sampled datavalues may be analyzed to determine if a transition has occurred in thedata values. At step 3630, if a transition is not detected, the methodreturns to step 3620. If a transition is detected between successivedata values, the method proceeds to step 3640. It should be noted that,in particular embodiments, a transition may be detected by comparing thereceived data values to each other directly. In alternative embodiments,a transition may be detected by comparing the received data values andboundary values to pre-defined value patterns that comprise a transition(and that correspond to particular offset cancellation actions). Itshould further be noted that, in particular embodiments, an offsetcancellation action may take place after detecting a single transition.

If a transition is detected, at step 3640, the boundary value betweenthe successive data values comprising the transition is identified. Atstep 3650, if the boundary value is high, the method proceeds to step3660. If the boundary value is low, the method proceeds to step 3690.

At step 3660, a determination is made whether the data values 0.5 and1.5 bits before the boundary value are the same. If so, the DC path maybe saturated, and the value of the boundary value may reflect theresidual DC offset in the first-order derivative path. Thus, if the datavalues 0.5 and 1.5 bits before the boundary value are the same, method3600 proceeds to step 3670, and a negative offset cancellation action isapplied to the first-order derivative path to adjust the signaldownwardly (because the residual first-order derivative path offset ispositive). If the data values 0.5 and 1.5 bits before the boundary valueare different, method 3600 proceeds to step 3680, and a negative offsetcancellation action is applied to the unmodified DC path and thefirst-order derivative path to adjust the signal downwardly (because theresidual equalizer offset is positive). It should be noted that, inparticular embodiments, the boundary value may be identified, thecomparison of data values may be made, and an offset cancellation actionmay be taken by comparing the boundary value and data values topre-defined patterns (that correspond to particular offset cancellationactions).

If, at step 3650, the boundary value is low, method 3600 proceeds tostep 3690. At step 3690, a determination is made whether the data values0.5 and 1.5 bits before the boundary value are the same. If so, the DCpath may be saturated, and the value of the boundary value may reflectthe residual DC offset in the first-order derivative path. Thus, if thedata values 0.5 and 1.5 bits before the boundary value are the same,method 3600 proceeds to step 3700, and a positive offset cancellationaction is applied to the first-order derivative path to adjust thesignal upwardly (because the residual first-order derivative path offsetis negative). If the data values 0.5 and 1.5 bits before the boundaryvalue are different, method 3600 proceeds to step 3710, and a positiveoffset cancellation action is applied to the unmodified DC path and thefirst-order derivative path to adjust the signal upwardly (because theresidual equalizer offset is negative). It should be noted that, inparticular embodiments, the boundary value may be identified, thecomparison of data values may be made, and an offset cancellation actionmay be taken by comparing the boundary value and data values topre-defined patterns (that correspond to particular offset cancellationactions).

It should also be noted that, in particular embodiments, steps 3620-3710may be performed by offset controller 106, and DC offset cancellationactions may be applied using, for example, variable gain amplifiers 116.It should further be noted that, although the relationship between thedata values 0.5 and 1.5 bits before the boundary value is used todetermine to what set of paths to apply the offset compensation, therelationship between or among any suitable data values may be used(e.g., taking into account the data value 2.5 bits before the boundaryvalue). It should also be noted that method 3600 may be generalized toapply to equalizers associated with any suitable number of signal paths.

FIG. 32 is a table 3800 illustrating an example offset control schemeassociated with the method 3600 of FIG. 31. Each row 3802 corresponds toa particular pattern of values for which a particular offset cancelleraction is performed (to either the first-order derivative path or toboth the first-order derivative path and the unmodified DC path). Column3810 includes a high or low value (“1” or “0”) for each of a series ofsampled data and boundary values. Column “D0” includes a zeroeth sampleddata value of an output signal, column “D1” includes a first sampleddata value of the output signal, column “D2” includes a second sampleddata value of the output signal, and column “E1” includes the boundaryvalue between the first and second data values. These values are similarto those illustrated in FIGS. 23A-23C. As can be observed, a transitionoccurs between data values in columns “D1” and “D2” in each pattern.

It should be noted that the pattern of values in each row 3802 may besampled by sampler 104 and sent to offset controller 106. Alternatively,offset controller 106 may receive only sampled data values and otherphase information, and particular boundary values (including, forexample, boundary values in column E1) may be derived from the datavalues and phase information (and may not be sampled by sampler 104).

Column 3812 includes alternative boundary values at column “E1” for eachrow 3802. Column 3814 includes, for particular patterns, particularresidual DC offset levels and DC offset cancellation actions associatedwith the unmodified DC path of the input signal. The DC offsetcancellation actions may be applied as discussed above in method 3600.Column 3816 includes, for particular patterns, particular residual DCoffset levels and DC offset cancellation actions associated with thefirst-order derivative path of the input signal. The DC offsetcancellation actions may be applied as discussed above in method 3600.

FIG. 33 is a flowchart illustrating another example method 3900 forcanceling residual DC offset in a first-order derivative analogequalizer according to a particular embodiment of the invention. Likemethod 3600 in FIG. 31, method 3900 may cancel residual DC offset in theunmodified DC path and in the first-order derivative path of thefirst-order derivative equalizer by applying offset cancellation actionsto either of the paths in particular circumstances.

In method 3900, offset cancellation actions may be applied only to thefirst-order derivative path when successive data values having the samehigh or low value are observed before a transition. Successive datavalues having the same value may suggest that the DC path is saturated(assuming that the overall offset of the signal is substantiallycancelled). Thus, the value (high or low) of the boundary value betweenthe data values comprising the transition likely corresponds to theresidual DC offset in the first-order derivative path. Offsetcancellation actions may be applied only to the unmodified DC path whensuccessive data values having different high or low values are observedbefore a transition. By applying offset cancellation actions in such amanner, even if the unmodified DC and first-order derivative pathsexhibit residual offsets in opposite directions, method 3900 may correctfor residual offset in each signal path.

Method 3900 begins at step 3910, where an output signal is sampled usinga clock signal. Because steps 3910-3960 and 3990 may be the same assteps 3610-3660 and 3690, respectively, steps 3910-3960 and 3990 willnot be described in detail. After a determination is made at step 3960whether the data values 0.5 and 1.5 bits before the boundary value arethe same, method 3900 proceeds to step 3970 if the values are the sameor to step 3980 if the values are different. At step 3970, a negativeoffset cancellation action is applied to the first-order derivative pathto adjust the signal downwardly (because the residual first-orderderivative path offset is positive). At step 3980, if the data values0.5 and 1.5 bits before the boundary value are different, a negativeoffset cancellation action is applied to the unmodified DC path toadjust the signal downwardly (because the residual equalizer offset ispositive). It should be noted that, in particular embodiments, theboundary value may be identified, the comparison of data values may bemade, and an offset cancellation action may be taken by comparing theboundary value and data values to pre-defined patterns (that correspondto particular offset cancellation actions).

After a determination is made at step 3990 whether the data values 0.5and 1.5 bits before the boundary value are the same, method 3900proceeds to step 4000 if the values are the same or to step 4010 if thevalues are different. At step 4000, a positive offset cancellationaction is applied to the first-order derivative path to adjust thesignal upwardly (because the residual first-order derivative path offsetis negative). At step 4010, if the high or low values of the data values0.5 and 1.5 bits before the boundary value are different, a positiveoffset cancellation action is applied to the unmodified DC path toadjust the signal upwardly (because the residual equalizer offset isnegative). It should be noted that, in particular embodiments, theboundary value may be identified, the comparison of data values may bemade, and an offset cancellation action may be taken by comparing theboundary value and data values to pre-defined patterns (that correspondto particular offset cancellation actions).

It should also be noted that, in particular embodiments, steps 3920-4010may be performed by offset controller 106, and DC offset cancellationactions may be applied using, for example, variable gain amplifiers 116.It should further be noted that, although the relationship between thedata values 0.5 and 1.5 bits before the boundary value is used todetermine to what set of paths to apply the offset compensation, therelationship between or among any suitable data values may be used(i.e., taking into account the data value 2.5 bits before the transitionboundary value). It should also be noted that method 3900 may begeneralized to apply to equalizers associated with any suitable numberof signal paths.

FIG. 34 is a table 4100 illustrating an example offset control schemeassociated with the method 3900 of FIG. 33. Each row 4102 corresponds toa particular pattern of values for which a particular offset cancelleraction is performed (to either the first-order derivative path or theunmodified DC path). Column 4110 includes a high or low value (“1” or“0”) for each of a series of sampled data and boundary values. Column“D0” includes a zeroeth sampled data value of an output signal, column“D1” includes a first sampled data value of the output signal, column“D2” includes a second sampled data value of the output signal, andcolumn “E1” includes the boundary value between the first and seconddata values. These values are similar to those illustrated in FIGS.23A-23C. As can be observed, a transition occurs between data values incolumns “D1” and “D2” in each pattern.

It should be noted that the pattern of values in each row 4102 may besampled by sampler 104 and sent to offset controller 106. Alternatively,offset controller 106 may receive only sampled data values and otherphase information, and particular boundary values (including, forexample, boundary values in column E1) may be derived from the datavalues and phase information (and may not be sampled by sampler 104).

Column 4112 includes alternative boundary values at column “E1” for eachrow 4102. Column 4114 includes, for particular patterns, particularresidual DC offset levels and DC offset cancellation actions associatedwith the unmodified DC path of the input signal. The DC offsetcancellation actions may be applied as discussed above in method 3900.Column 4116 includes, for particular patterns, particular residual DCoffset levels and DC offset cancellation actions associated with thefirst-order derivative path of the input signal. The DC offsetcancellation actions may be applied as discussed above in method 3900.

FIG. 35 is a flowchart illustrating yet another example method 4200 forcanceling residual DC offset in a first-order derivative analogequalizer according to a particular embodiment of the invention. Likemethod 3600 in FIG. 31, method 4200 may, under certain conditions, applyoffset cancellation actions to one or both of the unmodified DC andfirst-order derivative paths of the first-order derivative analogequalizer to cancel residual offset in the paths. Method 4200 may do soby applying offset cancellation actions to both the unmodified DC andfirst-order derivative paths when successive data values having the samehigh or low value are observed before a transition. Offset cancellationactions may be applied only to the unmodified DC path when successivedata values having different high or low values are observed before atransition. By applying offset cancellation actions in such a manner,method 4200 may correct for residual offset in each signal path.

Method 4200 begins at step 4210, where an output signal is sampled usinga clock signal. Because steps 4210-4260 and 4290 may be the same assteps 3610-3660 and 3690, respectively, steps 4210-4260 and 4290 willnot be described. After a determination is made at step 4260 whether thedata values 0.5 and 1.5 bits before the boundary value are the same,method 4200 proceeds to step 4270 if the values are the same or to step4280 if the values are different. At step 4270, a positive offsetcancellation action is applied to the unmodified DC path to adjust theunmodified DC path upwardly, and a negative offset cancellation actionis applied to the first-order derivative path to adjust the first-orderderivative path downwardly (because the residual first-order derivativepath offset is positive). The offset of the unmodified DC path may beadjusted upwardly in an opposite manner as the first-order derivativepath in order to keep the overall offset correction at the same level,while the offset of the first-order derivative path is adjusteddownwardly. At step 4280, if the data values 0.5 and 1.5 bits before theboundary value are different, a negative offset cancellation action isapplied to the unmodified DC path to adjust the signal downwardly(because the residual equalizer offset is positive). It should be notedthat, in particular embodiments, the boundary value may be identified,the comparison of data values may be made, and an offset cancellationaction may be taken by comparing the boundary value and data values topre-defined patterns (that correspond to particular offset cancellationactions).

After a determination is made at step 4290 whether the data values 0.5and 1.5 bits before the boundary value are the same, method 4200proceeds to step 4300 if the values are the same or to step 4310 if thevalues are different. At step 4300, a negative offset cancellationaction is applied to the unmodified DC path to adjust the unmodified DCpath downwardly, and a positive offset cancellation action is applied tothe first-order derivative path to adjust the first-order derivativepath upwardly (because the residual first-order derivative path offsetis negative). The offset of the unmodified DC path may be adjusteddownwardly in an opposite manner as the first-order derivative path inorder to keep the overall offset correction at the same level, while theoffset of the first-order derivative path is adjusted upwardly. At step4310, if the data values 0.5 and 1.5 bits before the boundary value aredifferent, a positive offset cancellation action is applied to theunmodified DC path to adjust the signal upwardly (because the residualequalizer offset is negative). It should be noted that, in particularembodiments, the boundary value may be identified, the comparison ofdata values may be made, and an offset cancellation action may be takenby comparing the boundary value and data values to pre-defined patterns(that correspond to particular offset cancellation actions).

It should also be noted that, in particular embodiments, steps 4220-4310may be performed by offset controller 106, and DC offset cancellationactions may be applied using, for example, variable gain amplifiers 116.It should further be noted that, although the relationship between thedata values 0.5 and 1.5 bits before the boundary value is used todetermine to what set of paths to apply the offset compensation, therelationship between or among any suitable data values may be used(e.g., taking into account the data value 2.5 bits before the transitionboundary value). It should also be noted that method 4200 may begeneralized to apply to equalizers associated with any suitable numberof signal paths.

FIG. 36 is a table 4400 illustrating an example offset control schemeassociated with the method 4200 of FIG. 35. Each row 4402 corresponds toa particular pattern of values for which a particular offset cancelleraction is performed (to either the first-order derivative and DC pathsor the DC path only). Column 4410 includes a high or low value (“1” or“0”) for each of a series of sampled data and boundary values. Column“D0” includes a zeroeth sampled data value of an output signal, column“D1” includes a first sampled data value of the output signal, column“D2” includes a third sampled data value of the output signal, andcolumn “E1” includes the boundary value between the first and seconddata values. These values are similar to those illustrated in FIGS.23A-23C. As can be observed, a transition occurs between data values incolumns “D1” and “D2” in each pattern.

It should be noted that the pattern of values in each row 4402 may besampled by sampler 104 and sent to offset controller 106. Alternatively,offset controller 106 may receive only sampled data values and otherphase information, and particular boundary values (including, forexample, boundary values in column E1) may be derived from the datavalues and phase information (and may not be sampled by sampler 104).

Column 4412 includes alternative boundary values at column “E1” for eachrow 4402. Column 4414 includes, for particular patterns, particularresidual DC offset levels and DC offset cancellation actions associatedwith the unmodified DC path of the input signal. The DC offsetcancellation actions may be applied as discussed above in method 4200.Column 4416 includes, for particular patterns, particular residual DCoffset levels and DC offset cancellation actions associated with thefirst-order derivative path of the input signal. The DC offsetcancellation actions may be applied as discussed above in method 4200.

FIG. 37 is a flowchart illustrating yet another example method 4500 forcanceling residual DC offset in a first-order derivative analogequalizer according to a particular embodiment of the invention. Likemethod 3600 in FIG. 31, method 4500 may, under certain conditions, applyoffset cancellation actions to both of the unmodified DC and first-orderderivative paths of the first-order derivative analog equalizer inbiased manners to cancel residual offset in the paths. Method 4500 maydo so by applying offset cancellation actions to both the DC andfirst-order derivative paths with a bias on first-order derivative pathwhen successive data values having the same high or low value areobserved before a transition. Offset cancellation actions may also beapplied to both the DC and first-order derivative paths with a bias onthe DC path when successive data values having different high or lowvalues are observed before a transition. By applying offset cancellationactions in such a biased manner, even if the unmodified DC andfirst-order derivative paths exhibit residual offsets in oppositedirections, method 4500 may correct for residual offset in each signalpath.

Method 4500 begins at step 4510, where an output signal is sampled usinga clock signal. Because steps 4510-4560 and 4590 may be the same assteps 3610-3660 and 3690, respectively, steps 4510-4560 and 4590 willnot be described. After a determination is made at step 4560 whether thedata values 0.5 and 1.5 bits before the boundary value are the same,method 4500 proceeds to step 4570 if the values are the same or to step4580 if the values are different. At step 4570, a negative offsetcancellation action is applied to the unmodified DC path to adjust theunmodified DC path downwardly, and a greater negative offsetcancellation action is applied to the first-order derivative path toadjust the first-order derivative path downwardly (because the residualfirst-order derivative path offset is positive). At step 4580, if thedata values 0.5 and 1.5 bits before the boundary value are different, anegative offset cancellation action is applied to the first-orderderivative path to adjust the first-order derivative path downwardly,and a greater negative offset cancellation action is applied to theunmodified DC path to adjust the unmodified DC path downwardly (becausethe residual equalizer offset is positive). It should be noted that, inparticular embodiments, the boundary value may be identified, thecomparison of data values may be made, and an offset cancellation actionmay be taken by comparing the boundary value and data values topre-defined patterns (that correspond to particular offset cancellationactions).

After a determination is made at step 4590 whether the data values 0.5and 1.5 bits before the boundary value are the same, method 4500proceeds to step 4600 if the values are the same or to step 4610 if thevalues are different. At step 4600, a positive offset cancellationaction is applied to the unmodified DC path to adjust the unmodified DCpath upwardly, and a greater positive offset cancellation action isapplied to the first-order derivative path to adjust the first-orderderivative path upwardly (because the residual first-order derivativepath offset is negative). At step 4610, if the data values 0.5 and 1.5bits before the boundary value are different, a positive offsetcancellation action is applied to the first-order derivative path toadjust the first-order derivative path upwardly, and a greater positiveoffset cancellation action is applied to the unmodified DC path toadjust the DC path upwardly (because the residual equalizer offset isnegative). It should be noted that, in particular embodiments, theboundary value may be identified, the comparison of data values may bemade, and an offset cancellation action may be taken by comparing theboundary value and data values to pre-defined patterns (that correspondto particular offset cancellation actions).

It should also be noted that, in particular embodiments, steps 4520-4610may be performed by offset controller 106, and DC offset cancellationactions may be applied using, for example, variable gain amplifiers 116.It should further be noted that, although the relationship between thedata values 0.5 and 1.5 bits before the boundary value is used todetermine to what set of paths to apply the offset compensation, therelationship between or among any suitable data values may be used(e.g., taking into account the data value 2.5 bits before the boundaryvalue). It should also be noted that method 4500 may be generalized toapply to equalizers associated with any suitable number of signal paths.

FIG. 38 is a table 4700 illustrating an example offset control schemeassociated with the method 4500 of FIG. 37. Each row 4702 corresponds toa particular pattern of values for which a particular offset cancelleraction is performed (to both the first-order derivative and DC paths).Column 4710 includes a high or low value (“1” or “0”) for each of aseries of sampled data and boundary values. Column “D0” includes azeroeth sampled data value of an output signal, column “D1” includes afirst sampled data value of the output signal, column “D2” includes asecond sampled data value of the output signal, and column “E1” includesthe boundary value between the first and second data values. Thesevalues are similar to those illustrated in FIGS. 23A-23C. As can beobserved, a transition occurs between data values in columns “D1” and“D2” in each pattern.

It should be noted that the pattern of values in each row 4702 may besampled by sampler 104 and sent to offset controller 106. Alternatively,offset controller 106 may receive only sampled data values and otherphase information, and particular boundary values (including, forexample, boundary values in column E1) may be derived from the datavalues and phase information (and may not be sampled by sampler 104).

Column 4712 includes alternative boundary values at column “E1” for eachrow 4702. Column 4714 includes, for particular patterns, particularresidual DC offset levels and DC offset cancellation actions associatedwith the unmodified DC path of the input signal. The DC offsetcancellation actions may be applied as discussed above in method 4500.Column 4716 includes, for particular patterns, particular residual DCoffset levels and DC offset cancellation actions associated with thefirst-order derivative path of the input signal. The DC offsetcancellation actions may be applied as discussed above in method 4500.

FIG. 39 is a flowchart illustrating an example method 4800 for cancelingresidual DC offset in a second-order derivative analog equalizeraccording to a particular embodiment of the invention. Method 4800 may,under certain conditions, apply offset cancellation actions to one ormore of the DC, first-order, and second-order derivative paths of thesecond-order derivative analog equalizer to cancel residual offset inthe paths. Method 4800 may do so by applying offset cancellation actionsto only the second-order derivative path when three successive datavalues having the same high or low value are observed before atransition. Method 4800 may apply offset cancellation actions to boththe first-order and second-order derivative paths when two successivedata values having the same high or low value are observed before atransition. When two data values having opposite high or low values areobserved before a transition, method 4800 may apply offset cancellationactions to all three paths. By applying offset cancellation actions insuch a manner, method 4800 may correct for residual offset in eachsignal path, even if the residual offsets of the three paths cancel eachother out.

Method 4800 begins at step 4810, where an output signal is sampled usinga clock signal. Because steps 4810-4850 may be the same as steps3610-3650, respectively, steps 4810-4850 will not be described. After adetermination is made at step 4850 whether the boundary value is high(i.e., equal to “1”), method 4800 proceeds to step 4860 if the boundaryvalue is high or to step 4910 if the boundary value is low (i.e., equalto “0”).

At step 4860, a determination is made whether the data values 0.5, 1.5,and 2.5 bits before the boundary value are the same. If the values arethe same, method 4800 proceeds to step 4870, and a negative offsetcancellation action is applied to adjust the second-order derivativepath downwardly (because the residual second-order derivative pathoffset is positive). If, at step 4860, a determination is made that thedata values are not the same, method 4800 proceeds to step 4880. Itshould be noted that, in particular embodiments, the boundary value maybe identified, the comparison of data values may be made, and an offsetcancellation action may be taken by comparing the boundary value anddata values to pre-defined patterns (that correspond to particularoffset cancellation actions).

At step 4880, a determination is made whether the data values 0.5 and1.5 bits before the boundary value are the same. Method 4800 proceeds tostep 4890 if the values are the same or to step 4900 if the values aredifferent. At step 4890, a negative offset cancellation action isapplied to each of the first-order and second-order derivative paths toadjust each of the first-order and second-order derivative pathsdownwardly (because the residual first-order and/or second-orderderivative path offset is positive). At step 4900, if the data values0.5 and 1.5 bits before the boundary value are different, a negativeoffset cancellation action is applied to each of the three paths toadjust each of the three paths downwardly (because the residualequalizer offset is positive). It should be noted that, in particularembodiments, the boundary value may be identified, the comparison ofdata values may be made, and an offset cancellation action may be takenby comparing the boundary value and data values to pre-defined patterns(that correspond to particular offset cancellation actions).

If a determination is made at step 4850 that the boundary value is low,method 4800 proceeds to step 4910. At step 4910, a determination is madewhether the data values 0.5, 1.5, and 2.5 bits before the boundary valueare the same. If the values are the same, method 4800 proceeds to step4920, and a positive offset cancellation action is applied to thesecond-order derivative path to adjust the signal upwardly (because theresidual second-order derivative path offset is negative). If, at step4910, a determination is made that the data values are not the same,method 4800 proceeds to step 4930. It should be noted that, inparticular embodiments, the boundary value may be identified, thecomparison of data values may be made, and an offset cancellation actionmay be taken by comparing the boundary value and data values topre-defined patterns (that correspond to particular offset cancellationactions).

At step 4930, a determination is made whether the data values 0.5 and1.5 bits before the boundary value are the same. If these values are thesame, method 4800 proceeds to step 4940. If these values are different,method 4800 proceeds to step 4950. At step 4940, a positive offsetcancellation action is applied to each of the first-order andsecond-order derivative paths to adjust each of the first-order andsecond-order derivative paths upwardly (because the residual first-orderand/or second-order derivative path offset is negative). At step 4950,if the data values 0.5 and 1.5 bits before the boundary value aredifferent, a positive offset cancellation action is applied to each ofthe three paths to adjust each of the three paths upwardly (because theresidual equalizer offset is negative). It should be noted that, inparticular embodiments, the boundary value may be identified, thecomparison of data values may be made, and an offset cancellation actionmay be taken by comparing the boundary value and data values topre-defined patterns (that correspond to particular offset cancellationactions).

It should also be noted that, in particular embodiments, steps 4820-4950may be performed by offset controller 106, and DC offset cancellationactions may be applied using, for example, variable gain amplifiers 116.It should further be noted that, although the relationship among thedata values 0.5, 1.5 and 2.5 bits before the boundary value is used todetermine to what set of paths to apply the offset compensation, therelationship between or among any suitable data values may be used(e.g., taking into account the data value 3.5 bits before the boundaryvalue). It should also be noted that method 4800 may be generalized toapply to equalizers associated with any suitable number of signal paths.

FIG. 40 is a table 5000 illustrating an example offset control schemeassociated with the method 4800 of FIG. 39. Each row 5002 corresponds toa particular pattern of values for which a particular offset cancelleraction is performed (to a set of one or more of the DC, first-orderderivative, and second-order derivative paths). Column 5010 includes ahigh or low value (“1” or “0”) for each of a series of sampled data andboundary values. An “X” indicates that the value may be either a “0” or“1.” Column “D0” includes a zeroeth sampled data value of an outputsignal, column “D1” includes a first sampled data value of the outputsignal, column “D2” includes a second sampled data value of the outputsignal, column “D3” includes a third sampled data value of the outputsignal, and column “E2” includes the boundary value between the secondand third data values. These values are similar to those illustrated inFIGS. 23A-23C. As can be observed, a transition occurs between datavalues in columns “D2” and “D3” in each pattern.

It should be noted that the pattern of values in each row 5002 may besampled by sampler 104 and sent to offset controller 106. Alternatively,offset controller 106 may receive only sampled data values and otherphase information, and particular boundary values (including, forexample, boundary values in column E2) may be derived from the datavalues and phase information (and may not be sampled by sampler 104).

Column 5012 includes alternative boundary values at column “E2” for eachrow 5002. Column 5014 includes, for particular patterns, particularresidual DC offset levels and DC offset cancellation actions associatedwith the unmodified DC path of the input signal. The DC offsetcancellation actions may be applied as discussed above in method 4800.Column 5016 includes, for particular patterns, particular residual DCoffset levels and DC offset cancellation actions associated with thefirst-order derivative path of the input signal. The DC offsetcancellation actions may be applied as discussed above in method 4800.Column 5018 includes, for particular patterns, particular residual DCoffset levels and DC offset cancellation actions associated with thesecond-order derivative path of the input signal. The DC offsetcancellation actions may be applied as discussed above in method 4800.

It should be noted that the embodiments illustrated in FIGS. 30-40 maybe merged together in particular embodiments. For example, in particularembodiments, steps 4280 and 4310 in method 4200 may be replaced withsteps 3680 and 3710 in method 3600, respectively. In other embodiments,methods 3600, 3900, 4200, or 4500 may be applied to the second-orderderivative analog equalizer by applying the same offset compensation tothe second-order derivative path as the first-order derivative pathsince it may be difficult to effectively distinguish residual offset ofindividual paths between the first-order and second-order derivativepaths using method 4800 and independent offset controls for thefirst-order and second-order derivative paths may become out of control.In such embodiments, residual offset of the first-order and second-orderderivative paths may not be completely cancelled, if they are inopposite polarity. However, in particular embodiments, binding themtogether may be more beneficial than letting them change randomly andbecome out of control due to ineffective detection of individualresidual offset between the first-order and second-order derivativepaths using method 4800.

Modifications, additions, or omissions may be made to the systems andmethods described without departing from the scope of the invention. Thecomponents of the systems and methods described may be integrated orseparated according to particular needs. Moreover, the operations of thesystems and methods described may be performed by more, fewer, or othercomponents.

As discussed above in conjunction with FIG. 11, duty cycle distortionmay affect the adaptive gain control for periodic or quasi-periodic datasequence. Duty cycle distortion may also affect the offset cancellationcontrol for periodic or quasi-periodic data sequence. If the period ofthe data is an even number of data values, “even” or “odd” boundaryvalues which dominate transitions in the data sequence may be heavilybiased to “early” or “late” phases by duty cycle distortion. Because ofthe bias, equalizer compensation may also be biased, e.g., towardsincreasing or decreasing gain or offset in the signal, potentiallymaking the adaptive gain control and offset control out of acceptableoperating condition.

As discussed above in conjunction with FIGS. 12-22, particular patternsmay be selected as filter patterns to reduce the negative effect of dutycycle distortion and provide consistent results among (quasi-) periodicsignals. In particular embodiments, these filter patterns may bespecific to particular (quasi-) periodic signals. As discussed above,one drawback of using filter patterns specific to particular (quasi-)periodic signals is their limited applicability. For example, thesefilter patterns may not be substantially equally distributed betweeneven and odd data sequences in other (quasi-) periodic signals and thusmay lead to unacceptable operating condition if used with these other(quasi-) periodic signals.

Another potential drawback of using filter patterns specific to aparticular (quasi-) periodic signal is that these filter patterns maynot be substantially equally distributed between even and odd sequenceswhen re-sampling is used. Here, re-sampling refers to “vectorre-sampling” which starts “vector sampling” periodically at a lesserrate than the bare channel speed, but each “re-sampled” vector refers toa segment of data and boundary values that are sampled continuously atthe bare channel speed for the same length as the filter pattern. Notethat “re-sampled” vectors may overlap with each other, if “re-sampling”period is shorter than the length of the filter pattern. Whenre-sampling is done in a period that is harmonic with (quasi-) periodicsignal, patterns may arise at different probabilities than they would inthe entire (quasi-) periodic signal.

Some methods to address these types of distortions have been discussedabove in conjunction with FIGS. 17-22. For example, instead of beingselected specifically for a particular (quasi-) periodic signal, filterpatterns may be selected sequentially, randomly, or simultaneously froma static or dynamic list of useful filter patterns and used in abalanced manner. There are, however, other methods for reducing thenegative effects of duty cycle distortion and/or re-sampling and(quasi-) periodic signal that may be alternatives to or used inconjunction with the filter pattern techniques discussed above.

FIG. 41 is a flowchart illustrating an example method 5100 for reducingthe effects of duty-cycle distortion according to a particularembodiment of the invention. Method 5100 reduces the effects ofduty-cycle distortion and/or re-sampling and (quasi-) periodic signal bymonitoring and taking adaptive gain control actions and/or offsetcancellation actions in a balanced manner between the even data sequencethat starts with even data followed by odd data, even data, odd data,and so on, and odd data sequence that starts with odd data followed byeven data, odd data, even data, and so on. Method 5100 may be used inconjunction with or as an alternative to the filter pattern techniquesdiscussed above in conjunction with FIGS. 17-22.

Method 5100 begins at step 5110. At step 5110, a logic (for example,receiver logic 47) receives an incoming signal comprising even data andodd data in turn. The incoming signal may be a (quasi-) periodic signalin particular embodiments. The logic monitors the even data sequencethat starts at even data (and not the odd data sequence that starts atodd data) for the condition to take a control action. In particularembodiments, the logic may monitor the even data sequence that starts ateven data using one or more filter patterns. It should be noted that,although the even data sequence is monitored first in method 5100, inalternative embodiments, the odd data sequence may be monitored first.

At step 5120, a determination is made whether the condition to take acontrol action has been detected. Alternatively, a determination may bemade whether a particular data pattern corresponding to a filter patternhas been detected. If the condition has not been detected, method 5100returns to step 5110, and the logic continues to monitor the even datasequence that starts at even data for the condition. If the conditionhas been detected, method 5100 proceeds to step 5130. At step 5130, afirst control action is taken. The first control action may be anadaptive gain control action and/or an offset cancellation action. Thefirst control action may be based, for example, on a sampled boundaryvalue and/or one or more data values, as described above in conjunctionwith FIGS. 5-10, 24-29, and 31-40 or using other suitable techniquessuch as conventional adaptive control algorithms including theLeast-Mean-Square (LMS) algorithm, the Sign-Sign-Least-Mean-Square(SS-LMS) algorithm, and the Zero-Forcing (ZF) algorithm.

After the first control action is taken, method 5100 proceeds to step5140. At step 5140, the logic monitors the odd data sequence that startsat odd data (and not the even data sequence that starts at even data)for the condition to take a control action. In particular embodiments,the logic may monitor the odd data sequence that starts at odd datausing one or more filter patterns. At step 5150, a determination is madewhether the condition to take a control action has been detected.Alternatively, a determination may be made whether a particular datapattern corresponding to a filter pattern has been detected. If thecondition has not been detected, method 5100 returns to step 5140, andthe logic continues to monitor the odd data sequence that starts at odddata for the condition. If the condition has been detected, method 5100proceeds to step 5160. At step 5160, a second control action is taken.The second control action may be an adaptive gain control action and/oran offset cancellation action. The second control action may be based,for example, on a sampled boundary value and/or one or more data values,as described above in conjunction with FIGS. 5-10, 24-29, and 31-40 orusing other suitable techniques such as conventional adaptive controlalgorithms including the Least-Mean-Square (LMS) algorithm, theSign-Sign-Least-Mean-Square (SS-LMS) algorithm, and the Zero-Forcing(ZF) algorithm. After the second control action is taken, method 5100returns to step 5110. By monitoring the even and odd data sequences inturn, method 5100 balances the “early” or “late” phase biases due toduty-cycle distortion and reduces the negative effect of duty-cycledistortion and/or re-sampling and (quasi-) periodic signal.

In particular embodiments, method 5100 may be used in conjunction with arandomizer technique to avoid phase locking to the cycle of the (quasi-)periodic signal, thereby avoiding other possible distortions. Randomizertechniques include, for example, method 2300's random filter patternselection embodiment, discussed above, and methods 5300 and 5400,discussed below. Also, as discussed above, method 5100 may be used inconjunction with an adaptive gain control and/or an offset cancellationcontrol and may be used as an alternative to or in conjunction with thefilter pattern techniques discussed above.

FIG. 42 is a flowchart illustrating another example method 5200 forreducing the effects of duty-cycle distortion according to a particularembodiment of the invention. Method 5200 begins at step 5210. At step5210, a logic (for example, receiver logic 47) receives an incomingsignal comprising even and odd data in turn. The incoming signal may be(quasi-) periodic signal in particular embodiments. The logic randomlyselects, at equal probability, either the even data sequence that startswith even data followed by odd data, even data, odd data, and so on orthe odd data sequence that starts with odd data followed by even data,odd data, even data, and so on to monitor. In particular embodiments,the logic may, for example, generate a one-bit random number (e.g., a“1” or “0”) and select either the even data sequence or the odd datasequence based on the value of the random number.

At step 5220, a determination is made whether the even or odd datasequence has been selected. This determination may be based, forexample, on the value of the generated random number. If a determinationis made that the even data sequence has been selected, method 5200proceeds to step 5230. If a determination is made that the odd datasequence has been selected, method 5200 proceeds to step 5260.

If the even data sequence is selected, at step 5230, the logic monitorsthe even data sequence that starts at received even data (and not theodd data sequence that starts at received odd data) for the condition totake a control action. In particular embodiments, the logic may monitorthe even data sequence that starts at even data using one or more filterpatterns.

At step 5240, a determination is made whether the condition to take acontrol action has been detected. Alternatively, a determination may bemade whether a particular data pattern corresponding to a filter patternhas been detected. If the condition has not been detected, method 5200returns to step 5230, and the logic continues to monitor the even datasequence that starts at even data for the condition. If the conditionhas been detected, method 5200 proceeds to step 5250. At step 5250, acontrol action is taken. The control action may be an adaptive gaincontrol action and/or an offset cancellation action. The control actionmay be based, for example, on a sampled boundary value and/or one ormore data values, as described above in conjunction with FIGS. 5-10,24-29, and 31-40 or using other suitable techniques such as conventionaladaptive control algorithms including the Least-Mean-Square (LMS)algorithm, the Sign-Sign-Least-Mean-Square (SS-LMS) algorithm, and theZero-Forcing (ZF) algorithm. After a control action is taken, method5200 returns to step 5210.

If, at step 5220, the odd data sequence is selected, method 5200proceeds to step 5260. At step 5260, the logic monitors the odd datasequence that starts at odd data (and not the even data sequence thatstarts at even data) for the condition to take a control action. Inparticular embodiments, the logic may monitor the odd data sequence thatstarts at odd data using one or more filter patterns.

At step 5270, a determination is made whether the condition to take acontrol action has been detected. Alternatively, a determination may bemade whether a particular data pattern corresponding to a filter patternhas been detected. If the condition has not been detected, method 5200returns to step 5260, and the logic continues to monitor the odd datasequence that starts at odd data for the condition. If the condition hasbeen detected, method 5200 proceeds to step 5280. At step 5280, acontrol action is taken. The control action may be an adaptive gaincontrol action and/or an offset cancellation action. The control actionmay be based, for example, on a sampled boundary value and/or one ormore data values, as described above in conjunction with FIGS. 5-10,24-29, and 31-40 or using other suitable techniques such as conventionaladaptive control algorithms including the Least-Mean-Square (LMS)algorithm, the Sign-Sign-Least-Mean-Square (SS-LMS) algorithm, and theZero-Forcing (ZF) algorithm. After a control action is taken, method5200 returns to step 5210.

By selecting in a random manner at equal probability one of the datasequences that start with even or odd data to monitor, method 5200 maybalance the “early” or “late” phase biases due to duty-cycle distortionand reduce the negative effect of duty-cycle distortion and/orre-sampling and (quasi-) periodic signal, especially in the long-term.In the short term, however, method 5200 may be less effective thanmethod 5100 at reducing the negative effect of duty-cycle distortionand/or re-sampling and (quasi-) periodic signal (e.g., because the sameeven or odd data sequence may be consecutively selected at random usingmethod 5200). However, an advantage of method 5200 over method 5100 isthat method 5200's random selection of data sequences avoids phaselocking to the cycle of the (quasi-) periodic signal, thereby reducingother possible distortions. It should be noted that method 5200 may beused in conjunction with an adaptive gain control and/or an offsetcancellation control. In addition, method 5200 may be used as analternative to or in conjunction with the filter pattern techniquesdiscussed above.

It should be noted that, in addition to the adaptive gain control and/orthe offset cancel control based on a sampled boundary value and/or oneor more data values, as described above in conjunction with FIGS. 5-10,24-29, and 31-40, methods 5100 and 5200 may be applied to any othersuitable control system that utilizes sampler output in order to reducethe negative effects of duty-cycle distortion and/or re-sampling and(quasi-) periodic signal. For example, in particular embodiments, thesemethods may be applied to conventional adaptive equalizer control basedon conventional algorithms such as the Least-Mean-Square (LMS)algorithm, the Sign-Sign-Least-Mean-Square (SS-LMS) algorithm, and theZero-Forcing (ZF) algorithm. In particular embodiments, these methodsmay also be applied to the Clock and Data Recovery (CDR) system thatadjusts the recovered clock for the sampler based on the sampler output.

Modifications, additions, or omissions may be made to the systems andmethods described without departing from the scope of the invention. Thecomponents of the systems and methods described may be integrated orseparated according to particular needs. Moreover, the operations of thesystems and methods described may be performed by more, fewer, or othercomponents.

As discussed above, re-sampling here refers to “vector re-sampling” thatstarts “vector sampling” periodically at a lesser rate than the barechannel speed, but each “re-sampled” vector refers to a segment of dataand boundary values that are sampled continuously at the bare channelspeed for the same length as the filter pattern. Because the period ofre-sampling may be locked with the period of the (quasi-) periodicsignal being re-sampled, the data patterns observed in re-sampled datamay be different than the data patterns in the entire (quasi-) periodicsignal. For example, if re-sampling is performed at a rate of 1/32 for aperiodic signal with a period of three hundred and twenty bits, theperiodic signal will be repeatedly re-sampled at the same ten points ineach period and will never be re-sampled at the other three hundred andten points. Sampling at only a portion of the total points in the(quasi-) periodic signal may skew the control actions performed by theequalizer.

A solution to counter the locking of the re-sampling period with theperiod of the (quasi-) periodic signal is to vary the point at which the(quasi-) periodic signal is re-sampled in each re-sampling cycle. Forexample, if re-sampling is done at a rate of 1/32, the re-sampling cycleis thirty-two bits and there are thirty-two possible points to re-samplethe (quasi-) periodic signal in each re-sampling cycle. The point atwhich re-sampling occurs may be selected to vary for each thirty-two bitre-sampling cycle.

It should be noted that re-sampling in a re-sampling cycle may comprise,for example, sampling a plurality of data bits before, after, or arounda particular point in the cycle. For example, if a re-sampling rate of1/32 is used and a re-sampling comprises sampling six bits, the six bitsmay be sampled before, after, or around a particular point in eachthirty-two bit cycle. Example methods for varying the point at whichre-sampling occurs in each re-sampling cycle are discussed below inconjunction with FIGS. 43-45.

An alternative solution to counter the locking of the re-sampling periodwith the period of the (quasi-) periodic signal is to randomly selectthe next point at which the (quasi-) periodic signal is re-sampledwithout being limited to set re-sampling cycles. For example, after afirst point is randomly selected and sampled, a next point may berandomly selected and sampled, and so on, without each point necessarilybeing bounded within a re-sampling cycle. In particular embodiments, apseudo-random number generator may be used, and the pseudo-random numbergenerator may be weighted in any suitable manner such that an averagere-sampling rate is produced. For example, in particular embodiments,the pseudo-random number generator may be capped such that the nextrandomly selected point may not be beyond a certain number of bits fromthe previous point. In such embodiments, the cap may act to define anaverage re-sampling rate. In alternative embodiments, the next point maybe selected under various restrictions such that the re-sampling rate isalways less than a certain maximum re-sampling rate.

A further alternative solution to counter the locking of re-samplingperiod with the period of the (quasi-) periodic signal is to takecontrol actions randomly at certain fixed or variable probability basedon random number generated for each sampling point instead of randomlyselecting re-sampling point or re-sampling period of re-sampling cycle.In particular embodiments, a pseudo-random number generator may be used,and a sample may be taken only when the generated pseudo-random numberdrops within a certain range. The probability to take a control actionmay be fixed or variable. In particular embodiments, once a sample istaken, a variable probability may be set to zero for a certain period oruntil a certain point of time in order to restrict the maximumre-sampling rate to be less than a certain value. In other embodiments,while a sample is not taken, a variable probability may be graduallyincreased as time passes, and reset to zero or a fixed small value oncea control action takes place in order to restrict the average samplingrate and/or the minimum sampling rate to be more than a certain value.

FIG. 43 is a flowchart illustrating an example method 5300 for varyingthe point at which re-sampling occurs in each re-sampling cycleaccording to a particular embodiment of the invention. Method 5300varies the re-sampling point by selecting the point randomly, typicallyat equal probability, for each re-sampling cycle. Method 5300 begins atstep 5310, where a re-sampling point is selected randomly for are-sampling cycle. The re-sampling point may be randomly selected using,for example, a pseudo-random number generator. If re-sampling is done ata rate of 1/32, for example, the randomly selected re-sampling point maybe any one of the thirty-two points in the re-sampling cycle.

At step 5320, the signal is sampled at the selected re-sampling point.As discussed above, sampling at a selected re-sampling point maycomprise sampling a plurality of data bits before, after, or around theselected point. For example, in particular embodiments, six bits may besampled, and the first bit may correspond to the selected point. Itshould be noted that sampling at the selected re-sampling point may ormay not effectuate a control action. For example, a control action maybe effectuated if a transition occurs in the sampling, and a controlaction may not be effectuated if a transition does not occur in thesampling. As another example, in particular embodiments where filterpatterns are used, if an appropriate filter pattern is not observed inthe sampling, a control action may not be taken. If a filter pattern isobserved in the sampling, a control action may be taken. After thesignal is sampled at the selected re-sampling point in the cycle, method5300 returns to step 5310, and a new re-sampling point is randomlyselected for the next cycle. In this way, any locking of the re-samplingperiod with the period of the (quasi-) periodic signal may be avoided.

FIG. 44 is a flowchart illustrating another example method 5400 forvarying the point at which re-sampling occurs in each re-sampling cycleaccording to a particular embodiment of the invention. Method 5400varies the re-sampling point by selecting the point randomly, typicallyat equal probability, for a re-sampling cycle following one where acontrol action has been taken. Method 5400 begins at step 5410, where are-sampling point is selected randomly for a re-sampling cycle. There-sampling point may be randomly selected using, for example, apseudo-random number generator. If re-sampling is done at a rate of1/32, for example, the randomly selected re-sampling point may be anyone of the thirty-two points in the re-sampling cycle.

At step 5420, the signal is sampled at the selected re-sampling point.As discussed above, sampling at a selected re-sampling point maycomprise sampling a plurality of data bits before, after, or around theselected point. Sampling at the selected re-sampling point may or maynot effectuate a control action. For example, a control action may beeffectuated if a transition occurs in the sampling, and a control actionmay not be effectuated if a transition does not occur in the sampling.As another example, in particular embodiments where filter patterns areused, if an appropriate filter pattern is not observed in the sampling,a control action may not be taken. If a filter pattern is observed inthe sampling, a control action may be taken.

At step 5430, a determination is made whether a control action has beentaken. If not, method 5400 returns to step 5420, and the signal issampled at the selected re-sampling point in the next cycle. If adetermination is made at step 5430 that a control action has been taken(in the first or a subsequent re-sampling cycle), method 5400 returns tostep 5410, and a new re-sampling point is randomly selected. In thisway, any locking of the re-sampling period with the period of the(quasi-) periodic signal may be avoided.

It should be noted that, in particular embodiments, control actions maybe taken at different times for gain control and offset cancellation.Taking control actions at different times may lead to different rates ofselecting re-sampling points for gain control and offset cancellation.In particular embodiments, a selected re-sampling point may be reset forboth gain control and offset cancellation when either the gain or offsetis adjusted.

FIG. 45 is a flowchart illustrating yet another example method 5500 forvarying the point at which re-sampling occurs in each re-sampling cycleaccording to a particular embodiment of the invention. Method 5500varies the re-sampling point by sequentially cycling through a list ofre-sampling points for a re-sampling cycle following one where a controlaction has been taken. Method 5500 begins at step 5510, where the nextre-sampling point in the list is selected for a re-sampling cycle. Notethat the list of re-sampling points is not necessarily in order. Forexample, if re-sampling is done at a rate of 1/32 and the previousre-sampling point was at point thirteen in the re-sampling cycle, thenext re-sampling point may be selected at point four in the re-samplingcycle at step 5510.

At step 5520, the signal is sampled at the selected re-sampling point.As discussed above, sampling at a selected re-sampling point maycomprise sampling a plurality of data bits before, after, or around theselected point. Sampling at the selected re-sampling point may or maynot effectuate a control action. For example, a control action may beeffectuated if a transition occurs in the sampling, and a control actionmay not be effectuated if a transition does not occur in the sampling.As another example, in particular embodiments where filter patterns areused, if an appropriate filter pattern is not observed in the sampling,a control action may not be taken. If a filter pattern is observed inthe sampling, a control action may be taken.

At step 5530, a determination is made whether a control action has beentaken. If not, method 5500 returns to step 5520, and the signal issampled at the selected re-sampling point in the next cycle. If adetermination is made at step 5530 that a control action has been taken(in the first or a subsequent re-sampling cycle), method 5500 returns tostep 5510, and the next re-sampling point is selected. Cycling through alist of re-sampling points may introduce another level of locking of theentire period to go through the list of re-sampling points with theperiod of the (quasi-) periodic signal. However, since the entire periodto go through the list is much longer than the re-sampling period, itmay effectively reduce the possibilities of locking of re-sampling withthe period of the (quasi-) periodic signal.

It should be noted that, in particular embodiments, control actions maybe taken at different times for gain control and offset cancellation.Taking control actions at different times may lead to different rates ofselecting re-sampling points for gain control and offset cancellation.In particular embodiments, a selected re-sampling point may be reset forboth gain control and offset cancellation when either the gain or offsetis adjusted.

It should also be noted that method 5100 includes a particularembodiment of method 5500, where re-sampling is done at a rate of 1/2,and method 5200 includes a particular embodiment of method 5400, wherere-sampling is done at a rate of 1/2.

It should further be noted that, in particular embodiments, methods5300, 5400, and 5500 may be combined together in various forms. Forexample, if re-sampling is done at a rate of 1/32, thirty-two possiblere-sampling points may be hierarchically divided into eight groups offour re-sampling points. In a particular embodiment, one of eightpossible groups of re-sampling points may be selected using method 5300,and one of four possible re-sampling points within each group may beselected using method 5400.

It should further be noted that, in addition to the adaptive gaincontrol and/or the offset cancel control based on a sampled boundaryvalue and/or one or more data values, as described above in conjunctionwith FIGS. 5-10, 24-29, and 31-40, in particular embodiments, methods5300, 5400 and 5500 may be applied to any other suitable control systemthat utilizes sampler output in order to avoid or reduce locking ofre-sampling with (quasi-) periodic signal. For example, in particularembodiments, these methods may be applied to conventional adaptiveequalizer control based on conventional algorithms such as theLeast-Mean-Square (LMS) algorithm, the Sign-Sign-Least-Mean-Square(SS-LMS) algorithm, and the Zero-Forcing (ZF) algorithm. In particularembodiments, these methods may also be applied to the Clock and DataRecovery (CDR) system that adjusts the recovered clock for the samplerbased on the sampler output.

Modifications, additions, or omissions may be made to the systems andmethods described without departing from the scope of the invention. Thecomponents of the systems and methods described may be integrated orseparated according to particular needs. Moreover, the operations of thesystems and methods described may be performed by more, fewer, or othercomponents.

As discussed above, an equalizer may use two or more control loopsconcurrently to equalize a signal. For example, an equalizer may use anadaptive equalizer control to adjust gain and reduce residualinter-symbol interference. The equalizer may also concurrently use anoffset canceller to adjust offset and cancel residual offset.

One challenge arising from using multiple control loops concurrently isthe potential coupling between the multiple control loops. Couplingbetween the multiple control loops may delay convergence time or mayeven make the control loops unstable. For example, if gain is optimalbut residual offset is suboptimal, boundary values are likely to bebiased to either high or low values (e.g., high values if residualoffset is positive and low values if residual offset is negative). Theequalizer gain control may misinterpret the biased boundary valuesand/or other information as over-or under-compensated situations. If thecounts of high and low data values for the equalizer gain control arenot balanced, the misinterpretations for over-or under-compensatedsituations may be unbalanced, shifting the equalizer gain from optimalto suboptimal. In a similar manner, residual offset may shift fromoptimal to suboptimal if gain is suboptimal.

In particular embodiments, multiple control loops may be decoupled bymaking the loops insensitive to each other. For example, the adaptiveequalizer control may be made insensitive to residual offset, and theoffset canceller may be made insensitive to residual inter-symbolinterference. To make the adaptive equalizer control and offsetcanceller insensitive to each other, in particular embodiments, two setsof complement data patterns may be used in a balanced manner by theadaptive equalizer control and the offset canceller. Complement datapatterns may comprise, for example, those data patterns having datavalues of different values (e.g., “0” or “1”) at particular bits in thepatterns.

For example, where a control action is based on a comparison of aboundary value between successive data values that comprise a transitionand the data value 1.5 bits before the boundary value, the adaptiveequalizer control and the offset canceller may balance the number ofcontrol actions taken when the data value 1.5 bits before the boundaryvalue is high or low. In particular embodiments, the adaptive equalizercontrol and the offset canceller may do so by alternating use of filterpatterns having a high or low data value immediately before the datavalues comprising a transition in the filter pattern. In this manner,the adaptive equalizer control may be made insensitive (or lesssensitive) to residual offset, and the offset canceller may be madeinsensitive (or less sensitive) to residual inter-symbol interference,thereby decoupling the control loops. Particular embodiments decouplingthe control loops are described further below in conjunction with FIGS.46 and 47.

FIG. 46 is a flowchart illustrating an example method 5600 fordecoupling multiple control loops according to a particular embodimentof the invention. Method 5600 may decouple, for example, the adaptiveequalizer control and the offset canceller by using two sets ofcomplement data patterns in a balanced manner. Method 5600 may use thetwo sets of complement data patterns in a balanced manner by alternatingbetween watching an incoming signal for one set and taking a controlaction based on the one set and then watching an incoming signal for theother set and taking a control action based on the other set. Where, forexample, a control action is based on a comparison of a boundary valuebetween successive data values comprising a transition and the datavalue 1.5 bits before the boundary value, the first set of data patternsmay include those with a high data value 1.5 bits before the boundaryvalue (i.e., those with a high data value immediately before the datavalues comprising the transition), and the second set of data patternsmay include those with a low data value 1.5 bits before the boundaryvalue (or vice versa).

Method 5600 begins at step 5610, where a logic, such as, for example,receiver logic 47, monitors an incoming signal for a first set of datapatterns. For example, the logic may monitor the incoming signal forsuccessive data values comprising a transition, where the data valueimmediately before the successive data values comprises a low value. Inparticular embodiments, the logic may use a filter pattern for suchmonitoring. Suitable filter patterns may include, for example,particular patterns illustrated and described above in conjunction withFIGS. 6, 8, 10, 14, 16, 32, 34, 36, 38, and 40. At step 5620, if a datapattern in the first set of data patterns is detected, method 5600proceeds to step 5630. If a data pattern in the first set of datapatterns is not detected, method 5600 returns to step 5610, and thelogic continues to monitor the incoming signal for the first set of datapatterns.

At step 5630, after a data pattern in the first set of data patterns isdetected, a suitable control action is taken. In particular embodiments,the control action may be based, for example, on a comparison of theboundary value between successive data values comprising a transitionand the data value 1.5 bits before the boundary value. The controlaction may be an adaptive equalizer action and/or an offset cancellationaction. The control action may also be based on a conventional adaptivecontrol algorithm in particular embodiments. After the control action istaken, method 5600 proceeds to step 5640.

At step 5640, the logic monitors the incoming signal for a second set ofdata patterns. For example, the logic may monitor the incoming signalfor successive data values comprising a transition, where the data valueimmediately before the successive data values comprises a high value. Inparticular embodiments, the logic may use a filter pattern for suchmonitoring. Suitable filter patterns may include, for example,particular patterns illustrated and described above in conjunction withFIGS. 6, 8, 10, 14, 16, 32, 34, 36, 38, and 40. At step 5650, if a datapattern in the second set of data patterns is detected, method 5600proceeds to step 5660. If a data pattern in the second set of datapatterns is not detected, method 5600 returns to step 5640, and thelogic continues to monitor the incoming signal for the second set ofdata patterns.

At step 5660, after a data pattern in the second set of data patterns isdetected, a suitable control action is taken. In particular embodiments,the control action may be based, for example, on a comparison of theboundary value between successive data values comprising a transitionand the data value 1.5 bits before the boundary value. The controlaction may be an adaptive equalizer action and/or an offset cancellationaction. The control action may also be based on a conventional adaptivecontrol algorithm in particular embodiments. After the control action istaken, method 5600 returns to step 5610. By using two sets of complementdata patterns in a balanced manner, method 5600 may decouple theadaptive equalizer control and the offset canceller. It should be notedthat, to avoid having the alternating cycle using the two sets of datapatterns lock with the period of a (quasi-) periodic signal, arandomized balancer may concurrently be used (see, e.g., methods 5300and 5400 above).

FIG. 47 is a flowchart illustrating another example method 5700 fordecoupling multiple control loops according to a particular embodimentof the invention. Method 5700 may decouple, for example, the adaptiveequalizer control and the offset canceller by using two sets ofcomplement data patterns in a balanced manner. Method 5700 may use thetwo sets of complement data patterns in a balanced manner by selectingone of the two sets randomly at equal probability, watching the incomingsignal for the selected set, taking a control action based on theselected set, and then again selecting one of the two sets randomly atequal probability. Where, for example, a control action is based on acomparison of a boundary value between successive data values comprisinga transition and the data value 1.5 bits before the boundary value, thefirst set of data patterns may include those with a high data value 1.5bits before the boundary value (i.e., those with a high data valueimmediately before the data values comprising the transition), and thesecond set of data patterns may include those with a low data value 1.5bits before the boundary value (or vice versa).

Method 5700 begins at step 5710, where a logic, such as, for example,receiver logic 47, selects one of two sets of complement data patternsrandomly, typically at equal probability. The logic may select one ofthe two sets randomly by using, for example, a pseudo random numbergenerator and associating one of the generated numbers with one set andthe other generated number with the other set. After selecting one ofthe two sets of complement data patterns, method 5700 proceeds to step5720.

At step 5720, if the selected set of data patterns is the first set(e.g., data patterns comprising a low data value immediately before thedata values comprising the transition), method 5700 proceeds to step5730. If the selected set of data patterns is the second set (e.g., datapatterns comprising a high data value immediately before the data valuescomprising the transition), method 5700 proceeds to step 5760.

At step 5730, the logic monitors an incoming signal for the first set ofdata patterns. For example, the logic may monitor the incoming signalfor successive data values comprising a transition, where the data valueimmediately before the successive data values comprises a low value. Inparticular embodiments, the logic may use a filter pattern for suchmonitoring. Suitable filter patterns may include, for example,particular patterns illustrated and described above in conjunction withFIGS. 6, 8, 10, 14, 16, 32, 34, 36, 38, and 40.

At step 5740, if a data pattern in the first set of data patterns isdetected, method 5700 proceeds to step 5750. If a data pattern in thefirst set of data patterns is not detected, method 5700 returns to step5730, and the logic continues to monitor the incoming signal for thefirst set of data patterns. At step 5750, after a data pattern in thefirst set of data patterns is detected, a suitable control action istaken. In particular embodiments, the control action may be based, forexample, on a comparison of the boundary value between successive datavalues comprising a transition and the data value 1.5 bits before theboundary value. The control action may be an adaptive equalizer actionand/or an offset cancellation action. The control action may also bebased on a conventional adaptive control algorithm in particularembodiments. After the control action is taken, method 5700 returns tostep 5710, and one of the two sets of complement data patterns isselected randomly.

If, at steps 5710 and 5720, the selected set of data patterns is thesecond set (e.g., data patterns comprising a high data value immediatelybefore the data values comprising the transition), method 5700 proceedsto step 5760. At step 5760, the logic monitors the incoming signal forthe second set of data patterns. For example, the logic may monitor theincoming signal for successive data values comprising a transition,where the data value immediately before the successive data valuescomprises a high value. In particular embodiments, the equalizer may usea filter pattern for such monitoring. Suitable filter patterns mayinclude, for example, particular patterns illustrated and describedabove in conjunction with FIGS. 6, 8, 10, 14, 16, 32, 34, 36, 38, and40.

At step 5770, if a data pattern in the second set of data patterns isdetected, method 5700 proceeds to step 5780. If a data pattern in thesecond set of data patterns is not detected, method 5700 returns to step5760, and the incoming signal continues to be monitored for the secondset of data patterns. At step 5780, after a data pattern in the secondset of data patterns is detected, a suitable control action is taken. Inparticular embodiments, the control action may be based, for example, ona comparison of the boundary value between successive data valuescomprising a transition and the data value 1.5 bits before the boundaryvalue. The control action may be an adaptive equalizer action and/or anoffset cancellation action. After the control action is taken, method5700 returns to step 5710, and one of the two sets of complement datapatterns is selected randomly. By using two sets of complement datapatterns in a balanced manner, method 5700 may decouple the adaptiveequalizer control and the offset canceller.

Modifications, additions, or omissions may be made to the systems andmethods described without departing from the scope of the invention. Thecomponents of the systems and methods described may be integrated orseparated according to particular needs. Moreover, the operations of thesystems and methods described may be performed by more, fewer, or othercomponents.

As discussed above, a logic, such as, for example, receiver logic 47,may, after detecting particular data and boundary values, adjust thegain and/or offset applied to an incoming signal. In particularembodiments, the gain and/or offset may be adjusted with a bang-bangcontrol scheme.

In the bang-bang control scheme, a control variable (e.g. gain oroffset) is adjusted based on a binary objective variable (e.g. binaryforms of ISI level, EQ level, or residual offset in the abovedescription, or a binary form of residual amplitude error in anAutomatic Gain Control (AGC) system) that takes one of two states,“high” or “low”, where the “high” state of the objective variable may bedue to a “high” value of the control variable, and the “low” state ofthe objective variable may be due to a “low” value of the controlvariable. In such circumstances, if the objective variable indicates the“high” state, the control variable may be decreased, and if theobjective variable indicates “low” state, the control variable may beincreased.

In a conventional bang-bang control system (e.g., an Automatic GainControl (AGC) system), the control variable (e.g. amplifier gain) isupdated in a symmetric way such that an increase in the control variableis of the same magnitude as a decrease in the control variable becausethe binary objective variable (e.g. a binary form of residual amplitudeerror) carries only qualitative information. Thus, when the same numberof increases and decreases are applied to the control variable, thecontrol variable stays at the same level in average, and the controlsystem reaches the equilibrium state. It should be noted that if thebinary objective variable is assigned numeric values, for example, “+1”and “−1” corresponding to “high” and “low” states (in the same way asthe ISI level described above in conjunction with FIG. 6), the averageof the binary objective variable converges to zero at equilibrium statein a conventional bang-bang control system.

The binary objective variable having zero average at equilibrium statemay be desirable in particular systems (e.g. an AGC system). Forinstance, if the binary objective variable (e.g. a binary form ofresidual amplitude error) is derived from an output of the comparatorwhich directly compares an analog objective variable (e.g. amplitude ofamplifier output) with control target (e.g. target level of amplitude),the optimal average of the binary objective variable at equilibriumstate may be naturally zero, because the comparator is expected toproduce the same number of “+1” and “−1” outputs, when the analogobjective variable is closest to the control target. Such situation isquite common in applications of the conventional bang-bang controlscheme, and thus, the conventional bang-bang control scheme simply usessymmetric update on the control variable.

On the other hand, the binary objective variable having zero average atequilibrium state may not be necessarily optimal in particular systems.For example, the optimal average of the ISI level described above inconjunction with FIG. 6 may be greater or less than zero depending onvarious conditions, such as, for example, channel loss and the incomingsignal itself. In particular embodiments, the optimal average ISI levelmay be high for a high loss channel and low for a low loss channel.Also, as an example only, the optimal average ISI level may vary from−0.6 to +0.5. For another example, the residual offset described abovein conjunction with FIG. 25 may be statistically oriented toward eitherpositive or negative in optimal condition depending on varioussystematic errors in residual offset measurement, such as, for example,non-cancelled offset in boundary sampler, but not in data sampler. Thus,a non-zero average of the binary objective variable at equilibrium statemay be useful in particular circumstances.

In particular embodiments, the average of the binary objective variable(e.g. ISI level) at equilibrium state in a bang-bang control system maybe made different than zero by introducing asymmetric update on thecontrol variable as illustrated in the following set of equations. Itshould be noted, however, that the asymmetric bang-bang control schememay be used with any suitable control variables (e.g., with offsetcontrol if the best residual offset is not zero) and in any suitablecontext (and not just the one described). In the equations below, K_(p)and K_(n) are control step values by which the control variable (e.g.,equalizer gain) is increased and decreased, respectively, and N_(p) andN_(n) are the number of up and down actions to the control variable perunit time at equilibrium state, respectively, and A is the average ofthe binary objective variable at equilibrium state. Here, it is assumedthat the binary objective variable takes “+1” or “−1” value, when thecontrol variable is “high” or “low”, respectively. It should be notedthat N_(p) and N_(n) are also the number of the binary objectivevariable having “low” and “high” states per unit time, respectively. Ascan be observed, the product of K_(p) and N_(p) is equal to the productof K_(n) and N_(n) in the long term, as the control variable should notchange at equilibrium state. It should also be noted that A can be madeother than zero by differentiating K_(p) and K_(n). For example, inparticular embodiments, A may be 0.2, when K_(p) is 0.3 and K_(n) is0.2. It should be noted that A may have any value from −1 (when K_(p)=0and K_(n)>0) to +1 (when K_(p)>0 and K_(n)=0). It should also be notedthat A becomes zero when K_(p)=K_(n)>0 that is the case of theconventional bang-bang control scheme.

K_(p) × N_(p) − K_(n) × N_(n) = 0 N_(n) ÷ N_(p) = K_(p) ÷ K_(n)$A = {\frac{N_{n} - N_{p}}{N_{n} + N_{p}} = \frac{K_{p} - K_{n}}{K_{p} + K_{n}}}$

FIG. 48 is a flowchart illustrating an example method 5800 forgenerating a particular average value of a binary objective variable(e.g., ISI level, EQ level, or residual offset) in an equilibrium stateaccording to a particular embodiment of the invention. The method beginsat step 5810, where objective variable is checked if it is high or lowin any suitable manner using, for example, adaptive controller 102. Forexample, in particular embodiments, the ISI level may be checked if itis “+1” or “−1”, or the EQ level may be checked if it is “high” or “low,by applying an inverted correlation function (or correlation function)or an XOR (or XNOR) operation to a boundary value between successivedata values comprising a transition and the data value 1.5 bits beforethe boundary value. In alternative embodiments, it may be checked usingfilter patterns, such as, for example, particular ones of the patternsdescribed above in conjunction with FIGS. 6, 8, 10, 14, and 16. Foranother example, the residual offset is checked if it is “positive” or“negative”, using tables described above in conjunction with FIGS. 25,27, 29, 32, 34, 36, 38, and 40.

A determination is then made at steps 5820 and 5830 whether the controlvariable (e.g., equalizer gain) should be decreased or increased basedon the high or low value of the objective variable checked at step 5810.For example, in particular embodiments for equalizer gain control, ifthe ISI level is “−1” or the EQ level is “low” at step 5810, adetermination is made to increase the equalizer gain, and the methodproceeds to step 5840. If the ISI level is “+1” or the EQ level is“high” at step 5810, a determination is made to decrease the equalizergain, and the method proceeds to step 5850. In alternative embodimentsthat use filter patterns, the particular filter patterns detected maydetermine whether the equalizer gain will be decreased or increased. Asanother example, in particular embodiments for equalizer offset control,if the residual offset is “negative” at step 5810, a determination ismade to increase the equalizer offset, and the method proceeds to step5840. If the residual offset is “positive” at step 5810, a determinationis made to decrease the equalizer offset, and the method proceeds tostep 5850. In alternative embodiments that use filter patterns, theparticular filter patterns detected may determine whether the equalizeroffset will be decreased or increased.

At step 5840, after determination has been made to increase the controlvariable, the control variable is increased by K_(p). For example, inparticular embodiments for equalizer gain control, the equalizer gain isincreased by K_(p). As another example, in particular embodiments forequalizer offset control, the equalizer offset is increased by K_(p).After increasing the control variable, method 5800 returns to step 5810.

At step 5850, after determination has been made to decrease the controlvariable, the control variable is decreased by K_(n). For example, inparticular embodiments for equalizer gain control, the equalizer gain isdecreased by K_(n). As another example, in particular embodiments forequalizer offset control, the equalizer offset is decreased by Kn. Afterdecreasing the control variable, method 5800 returns to step 5810.

Unlike in a conventional bang-bang control system, K_(p) does notnecessarily equal K_(n). Instead, K_(p) and K_(n) may be differentiatedbased on the following set of equations using a parameter T that is thecontrol target of the average of the binary objective variable atequilibrium state. Any suitable value from −1 to +1 may be selected forT (not necessarily zero), and in particular embodiments, the value of Tmay depend on various conditions related to, for example, the bit errorrate and may correspond to an optimal target value under thoseconditions. In alternative embodiments, the value of T may be fixed. Tmay be associated with the ratio of or the difference between K_(p) andK_(n) in particular embodiments. For example, in particular embodiments,the control target value T may comprise a target ratio (fixed orvariable) of frequencies detecting the objective variable in the secondstate and the first state.

In the following equations K is a common loop constant for bothincreases and decreases in the control variable, and defined as thearithmetic average of K_(p) and K_(n). As can be observed, whenK_(p)=K×(1+T) and K_(n)=K×(1−T), the average of the binary objectivevariable, A, will converge to Tat equilibrium state.

K_(p) = K × (1 + T) K_(n) = K × (1 − T)$\frac{K_{p} + K_{n}}{2} = {\frac{{K \times \left( {1 + T} \right)} + {K \times \left( {1 - T} \right)}}{2} = {\frac{2K}{2} = K}}$$A = {\frac{K_{p} - K_{n}}{K_{p} + K_{n}} = {\frac{{K \times \left( {1 + T} \right)} - {K \times \left( {1 - T} \right)}}{{K \times \left( {1 + T} \right)} + {K \times \left( {1 - T} \right)}} = {\frac{2{KT}}{2K} = T}}}$

By using a control target T that need not be equal to zero, method 5800may allow the average of the binary objective variable (e.g., ISI level,equalization level, residual offset, or other suitable objectivevariable) to converge to a point that corresponds more suitably toparticular conditions. As discussed above, in particular embodiments,the control target T may be fixed. In alternative embodiments, thecontrol target T may vary dynamically as a function of particular one ormore variables.

FIG. 49 is a flowchart illustrating an example method 5900 fordynamically generating a control target for an average value of a binaryobjective variable (e.g., ISI level) in an equilibrium state accordingto a particular embodiment of the invention. As discussed above, inparticular embodiments, the optimal average ISI level is likely to behigh for a high loss channel and low for a low loss channel. Thus, acontrol target for the average of a binary objective variable (e.g., ISIlevel or other suitable equalization level) that dynamically varies withthe value of the control variable (e.g., equalizer gain setting) may beadvantageous in particular embodiments.

Method 5900 begins at step 5910, where objective variable is checked ifit is high or low in any suitable manner using, for example, adaptivecontroller 102. Steps 5910-5950 may be the same as steps 5810-5850,described above, and thus will not be described again. After the controlvariable is increased by K_(p) at step 5940 or decreased by K_(n) atstep 5950, method 5900 proceeds to step 5960. At step 5960, the value ofthe control variable (e.g. equalizer gain) is identified. At step 5970,the control target, T, for the average of the binary objective variable(e.g. ISI level or other suitable equalization level) and the controlstep values, K_(p) and K_(n), are adjusted based on the identified valueof the control variable (e.g. equalizer gain).

For example, in particular embodiments, the control target T may beadjusted to vary with the control variable (e.g. equalizer gain) withina fixed range. As an example only, the control target T may be set to+0.4 when the value of the control variable is relatively high and maybe set to −0.4 when the value of the control variable is relatively low.When the value of the control variable is between the relatively highand low values, the control target T may be set to an interpolated valuebetween +0.4 and −0.4. In this way, K_(p) and K_(n) may be generateddynamically from the control variable (e.g. equalizer gain), therebyproducing an optimal average of binary objective variable (e.g. ISIlevel), based on the bit error rate.

In particular embodiments, control target T may be dynamicallycalculated as a function of the current value of the control variable(e.g., equalizer gain code) using the following set of equations:

${T(G)} = {{{T_{H} \times \frac{G}{G_{C}}} + {T_{L} \times \frac{G_{C} - G}{G_{C}}\mspace{11mu}\ldots\mspace{11mu} G}} < G_{C}}$T(G) = T_(H)  …  G ≥ G_(C)Here, G (e.g., 0˜126) is the current value of the control variable (e.g.equalizer gain code, which indicates the amount of frequencycompensation applied by the equalizer). Also, T_(H) (e.g., −1.0˜+1.0) isthe value of T for relatively high value of the control variable, T_(L)(e.g., −1.0˜+1.0) is the value of T for relatively low value of thecontrol variable, and G_(C) (e.g., 0, 1, 2, 4, 8, 16, 32, 64) is thevalue of G at the corner of the function which has flat value of T whenG is above the corner. An adaptive controller, such as, for example,adaptive controller 102, may use the dynamically calculated T and loopconstant K (described above) to generate updated values for K_(p) andK_(n). After T, K_(p), and K_(n) are updated, method 5900 returns tostep 5910.

FIG. 50 is a graph 6000 illustrating the results of applying an examplecontrol target equation to dynamically generate a control target for anaverage value of binary objective variable in an equilibrium state inequalizer gain control according to a particular embodiment of theinvention. The example control target equation is the equation listedabove for T(G). As can be observed, when the current value of theequalizer gain code, G, is equal to zero, the control target T equalsthe value for relatively low gain, T_(L). When G is between 0 and G_(C),the control target T may be set to an interpolated value between T_(L)and the value for relatively high gain, T_(H). When G is greater thanG_(C), the control target T equals T_(H). It should be noted that, inalternative embodiments, different control target equations may be used,producing graphs that are different than that illustrated in graph 6000.It should also be noted again that although the present discussiondescribes the control target in terms of an average ISI level, theequalization level may be described and targeted in other suitablemanners (and without necessarily tracking an average ISI level).

In particular embodiments, a high-frequency gain code G may be splitamong two or more of the paths in a multi-dimensional equalizer (e.g.,paths 101A-C, above). For example, adaptive controller 102 may convertthe high-frequency gain code G into a DC-path gain code and afirst-order-path gain code. The high-frequency gain code G may beconverted in any suitable manner, such as, for example, as describedbelow in FIGS. 51 and 52.

FIG. 51 is a table illustrating an example scheme 6100 for converting ahigh-frequency gain code into a DC-path gain code and a first-order-pathgain code according to a particular embodiment of the invention. Column6110 of scheme 6100 includes values of the high-frequency gain code, G,which is to be converted into the DC-path gain code and thefirst-order-path gain code. Column 6120 includes values of the DC-pathgain code, G₀, and column 6130 includes values of the first-order-pathgain code G₁. Each row 6140 includes a high-frequency gain code (orrange of high-frequency gain codes) and corresponding DC-path andfirst-order path gain codes. It should be noted that, in scheme 6100,G₀MAX is the maximum value of the DC-path gain code specified in aregister in adaptive controller 102. Also, the maximum value of thefirst-order-path gain codes is sixty-three in particular embodiments.

FIGS. 52A and 52B are graphs illustrating the results of applying theexample scheme 6100 of FIG. 51 for converting a high-frequency gain codeinto a DC-path gain code and a first-order-path gain code according to aparticular embodiment of the invention. FIG. 52A is a graph 6200illustrating the DC-path gain code as a function of the high-frequencygain code. FIG. 52B is a graph 6300 illustrating the first-order-pathgain code as a function of the high-frequency gain code. It should benoted that, in alternative embodiments, conversion schemes differentthan scheme 6100 may be used, producing graphs that are different thanthat illustrated in graphs 6200 and 6300.

Modifications, additions, or omissions may be made to the systems andmethods described without departing from the scope of the invention. Thecomponents of the systems and methods described may be integrated orseparated according to particular needs. Moreover, the operations of thesystems and methods described may be performed by more, fewer, or othercomponents.

Although the present invention has been described with severalembodiments, a myriad of changes, variations, alterations,transformations, and modifications may be suggested to one skilled inthe art, and it is intended that the present invention encompass suchchanges, variations, alterations, transformations, and modifications asfall within the scope of the appended claims. For example, althoughseveral embodiments are illustrated and described in the context of gaincontrol, alternative embodiments may additionally or alternatively beimplemented in the context of offset control or any other suitablecontrol parameter, where appropriate. Although several embodiments areillustrated and described in the context of offset control, alternativeembodiments may additionally or alternatively be implemented in thecontext of gain control or any other suitable control parameter, whereappropriate.

1. A method for adjusting a signal using an adaptive equalizer,comprising: using the adaptive equalizer, applying compensation fordistortion to a signal to generate an output signal; using a clocksignal, sampling the output signal to generate a plurality of datavalues and boundary values using the adaptive equalizer, each data valueand each boundary value comprising either a high value or a low valuebased on the sampling of the output signal; detecting, by the adaptiveequalizer, a transition in value between two successive data values anddetermining a sampled boundary value between the two successive datavalues; and based only on the high or low values of the boundary valueand the high or low value of the data value arriving immediately beforethe two successive data values, adjusting the compensation applied tothe signal using the adaptive equalizer, wherein: the compensationapplied to the signal is increased when the boundary value and the datavalue arriving immediately before the two successive data valuescomprise the same high or low value; and the compensation applied to thesignal is decreased when the boundary value and the data value arrivingimmediately before the two successive data values do not comprise thesame high or low value.
 2. The method of claim 1, wherein thecompensation is applied to the signal after the distortion occurs. 3.The method of claim 1, wherein the compensation is applied to the signalbefore the distortion occurs.
 4. The method of claim 3, wherein thecompensation is also applied to the signal after the distortion occurs.5. The method of claim 1, wherein the boundary value and the data valuearriving immediately before the two successive data values are comparedusing an inverted correlation function.
 6. The method of claim 1,wherein the boundary value and the data value arriving immediatelybefore the two successive data values are compared using a correlationfunction.
 7. The method of claim 1, wherein the boundary value and thedata value arriving immediately before the two successive data valuesare compared using an exclusive-OR operation.
 8. The method of claim 1,wherein the boundary value and the data value arriving immediatelybefore the two successive data values are compared using anexclusive-NOR operation.
 9. The method of claim 1, wherein thecompensation applied to the signal is adjusted based only on the high orlow value of the boundary value and the high or low value of the datavalue 1.5 symbols before the boundary value.
 10. The method of claim 1,wherein the clock signal is associated with the output signal.
 11. Themethod of claim 1, wherein no transition in value necessarily occursimmediately before the two successive data values.
 12. The method ofclaim 1, wherein the transition in value is detected and thecompensation is adjusted by: identifying a filter pattern of a pluralityof pre-determined filter patterns that corresponds to the plurality ofsampled data values and boundary values, each pre-determined filterpattern being associated with a particular adjustment of thecompensation applied to the signal; and adjusting the compensation basedon the particular adjustment of the compensation associated with theidentified filter pattern.
 13. An adaptive equalizer, comprising: anequalizer configured to apply compensation for distortion to a signal togenerate an output signal; a sampler configured to: receive the outputsignal and a clock signal; and using the clock signal, sample the outputsignal to generate a plurality of data values and boundary values, eachdata value and each boundary value comprising either a high value or alow value based on the sampling of the output signal; and a controllerconfigured to: detect a transition in value between two successive datavalues and determine a sampled boundary value between the two successivedata values; and adjust the compensation applied by the equalizer to thesignal based only on the high or low values of the boundary value andthe high or low value of the data value arriving immediately before thetwo successive data values, wherein: the compensation applied to thesignal is increased when the boundary value and the data value arrivingimmediately before the two successive data values comprise the same highor low value; and the compensation applied to the signal is decreasedwhen the boundary value and the data value arriving immediately beforethe two successive data values do not comprise the same high or lowvalue.
 14. The adaptive equalizer of claim 13, wherein the compensationis applied to the signal after the distortion occurs.
 15. The adaptiveequalizer of claim 13, wherein the compensation is applied to the signalbefore the distortion occurs.
 16. The adaptive equalizer of claim 15,wherein the compensation is also applied to the signal after thedistortion occurs.
 17. The adaptive equalizer of claim 13, wherein theboundary value and the data value arriving immediately before the twosuccessive data values are compared using an inverted correlationfunction.
 18. The adaptive equalizer of claim 13, wherein the boundaryvalue and the data value arriving immediately before the two successivedata values are compared using a correlation function.
 19. The adaptiveequalizer of claim 13, wherein the boundary value and the data valuearriving immediately before the two successive data values are comparedusing an exclusive-OR operation.
 20. The adaptive equalizer of claim 13,wherein the boundary value and the data value arriving immediatelybefore the two successive data values are compared using anexclusive-NOR operation.
 21. The adaptive equalizer of claim 16, whereinthe compensation applied to the signal is adjusted based only on thehigh or low value of the boundary value and the high or low value of thedata value 1.5 symbols before the boundary value.
 22. The adaptiveequalizer of claim 13, wherein the clock signal is associated with theoutput signal.
 23. The adaptive equalizer of claim 13, wherein notransition in value necessarily occurs immediately before the twosuccessive data values.
 24. The adaptive equalizer of claim 13, whereinthe transition in value is detected and the compensation is adjusted by:identifying a filter pattern of a plurality of pre-determined filterpatterns that corresponds to the plurality of sampled data values andboundary values, each pre-determined filter pattern being associatedwith a particular adjustment of the compensation applied to the signal;and adjusting the compensation based on the particular adjustment of thecompensation associated with the identified filter pattern.